浮点数的小数转二进制为什么要乘二取整

0.25转换成二进制是0.01,为什么呢?

0.25 * 2 * 2 = 1, 即0.25 = 1 /2 /2。

对于十进制小数来说,1 /10 /10 = 0.01(10) ,同样,对于二进制的小数来说,1 / 2 /2 = 0.01。

所以:0.25 = 1 /2 /2 = 0.01。

再看一个数0.75

0.75 * 2 = 1.5, 1.5 * 2 = 3 

即0.75 * 2 * 2 = 3,0.75 = 3 / 2 /2。

3的二进制为11,3 / 2 / 2即二进制的11连续右移2位,0.11。

所以0.75的二进制为0.11

原文地址:https://www.cnblogs.com/heluan/p/8580498.html