因为十进制小数转换到二进制时可能会得到不精确值
十进制小数转换为二进制:小数乘以2,取整,小数部分继续乘以2,取整,得到小数部分0为止,将整数顺序排列。
例如:0.8125
0.8125x2=1.625 取整1,小数部分是0.625
0.625x2=1.25 取整1,小数部分是0.25
0.25x2=0.5 取整0,小数部分是0.5
0.5x2=1.0 取整1,小数部分是0,结束
所以十进制0.8125等于二进制0.1101 (精确转换)
以上是较理想情况下的转换,但大多数情况下是这样的
例如:0.81
0.81*2=1.62 取整1,小数部分是0.62
0.62*2=1.24 取整1,小数部分是0.24
0.24*2=0.48 取整0,小数部分是0.48
0.48*2=0.96 取整0,小数部分是0.96
0.96*2=1.92 取整1,小数部分是0.92
0.92*2=1.84 取整1,小数部分是0.84
……
就这样永远不能结束
一般根据需要,进行到某一步就停止了然后
十进制0.81 ≈ 二进制0.110011 (不完全精确转换)
扩展资料
二进制数转换
二进制数转换成十进制数
由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。 例1105 把二进制数110.11转换成十进制数。
十进制数转换为二进制数
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。
十进制整数转换为二进制整数 。
用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
2.十进制小数转换为二进制小数
用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
参考资料:百度百科-十进制转换