一、小数在计算机中不精确的原因:
在计算机中的运算是使用二进制来进行的,通常程序中的十进制数字是先转换成二进制,再进行运算的。在基本数据类型中,浮点型float和double是有小数部分的,在其小数部分转换成二进制的时候可能会进入无限循环,所以在取值的时候我们并不能够取到完整的值,只能取到无限接近于原值的近似值,从而导致其精度丢失,所以大部分的小数在计算机中都是不精确的。
二、十进制整数部分转换为二进制的方法:
1.使用十进制的值除以2,得到两个部分,商和余数;
2.商继续除以2,直到商为0为止;
3.余数倒着看,就是二进制的值。
三、 十进制小数部分转换为二进制小数的方法:
1.整数部分转整数部分,小数部分转小数部分;
2.把十进制的小数乘以2:
(1).结果如果大于1,转换后的小数后面记1;
(2).结果如果小于1,转换后的小数后面记0。
3.直到结果为1.0为止。
情况2 的小数在计算机中就是不精确的。