为什么有些十进制小数不能换成二进制?

2019-05-18 22:24发布

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
花鼓名扬
1楼-- · 2019-05-18 22:38

n进制位值制记数法可以表示任意数。

任意数,都能用n进制位值制记数法表示。

其中n是非零实数。

n可以是整数、分数、无理数、负数。

例如十进制小数0.315

2*0.315=0.63

2*0.63=1.26

2*0.26=0.52☆

2*0.52=1.04

2*0.04=0.08

2*0.08=0.16

2*0.16=0.32

2*0.32=0.64

2*0.64=1.28

2*0.28=0.56

2*0.56=1.12

2*0.12=0.24

2*0.24=0.48

2*0.48=0.96

2*0.96=1.92

2*0.92=1.84

2*0.84=1.68

2*0.68=1.36

2*0.36=0.72

2*0.72=1.44

2*0.44=0.88

2*0.88=1.76

2*0.76=1.52☆

把上面每行的整数部分,从上到下连起来。

前面加【0.】,就成二进制表示的数。

带☆的,小数部分相同,发现循环节。

十进制0.315

=二进制

0.010(10000 10100 01111 01011)

括号内是循环节。

十进制的有限小数0.315,

用二进制时是循环小数,循环节20位。


十进制小数转换成二进制小数,采用的方法是:乘2取整,顺排整数。即将小数部分乘以2,然后取整数部分,剩下的小数部分再乘以2,再取整数部分,……直至小数部分为零为止。但也会碰到乘不尽的无限循环二进制小数,小数部分永远不能为零,这时就要按照要求保留多少小数位,再根据后面一位是0还是1,进行0舍1入。

数制是根据实际使用产生的。在实际使用中,对数字都有一个约定,即可以忽略无足轻重的部分。比如对于10000元来说,很多人不会去计较分角,甚至不去计较百元以下的值。数制转换,在一定的范围内也是存在误差的,不可能也不必要精确相等。在这个前提下,十进制数都是可以转换成二进制数的。

你举个例子

ygl990951
5楼-- · 2019-05-18 22:47

例如 0.1

0.1*2=0.2

0.2*2=0.4

0.4*2=0.8

0.8*2=1.6

0.6*2=1.2

0.2*2=0.4

0.4*2=0.8

0.8*2=1.6

十进制 (0.1)=二进制(0.000110011001100......)

小数可以换二进制

一周热门 更多>