当前位置 博文首页 > Mindyzone的博客:0.1 + 0.2 !== 0.3 ?
在写有限个数字的情况下,我们常用的十进制数字,并不能表示所有的数。如1/3,只能采取分数的方法表示这个一直循环的小数。
二进制和十进制一个道理,也无法表示一些无限循环的小数。如十进制的0.2,化成二进制是0.0011001100110011.....
另外浮点数的表示有位数限制(IEEE标准),所以,计算这些无限循环小时的时候需要舍弃后面的数字。使十进制中精确的数字在二进制中变得不再精确。最后我们期望得到的十进制结果也产生了误差。
?
解决办法:不使用小数的计算,尽量采用整数的计算。
cs