[转] 为什么0.1+0.2=0.30000000000000004
????原文链接
文章讨论了计算机中的浮点运算问题,给出了各种不同语言的浮点输出。
浮点数运算
你使用的语言并不烂,它能够做浮点数运算。计算机天生只能存储整数,因此它需要某种方法来表示小数。这种表示方式会带来某种程度的误差。这就是为什么往往 0.1 + 0.2 不等于 0.3。
为什么会这样?
实际上很简单。对于十进制数值系统(就是我们现实中使用的),它只能表示以进制数的质因子为分母的分数。10 的质因子有 2 和 5。因此 1/2、1/4、1/5、1/8和 1/10 都可以精确表示
转载
2020-11-19 15:50:29 ·
223 阅读 ·
0 评论