当前位置 博文首页 > Mindyzone的博客:0.1 + 0.2 !== 0.3 ?

    Mindyzone的博客:0.1 + 0.2 !== 0.3 ?

    作者:[db:作者] 时间:2021-08-22 15:15

    在写有限个数字的情况下,我们常用的十进制数字,并不能表示所有的数。如1/3,只能采取分数的方法表示这个一直循环的小数。

    二进制和十进制一个道理,也无法表示一些无限循环的小数。如十进制的0.2,化成二进制是0.0011001100110011.....

    另外浮点数的表示有位数限制(IEEE标准),所以,计算这些无限循环小时的时候需要舍弃后面的数字。使十进制中精确的数字在二进制中变得不再精确。最后我们期望得到的十进制结果也产生了误差。

    ?

    解决办法:不使用小数的计算,尽量采用整数的计算。

    cs
    下一篇:没有了