美文网首页
0.1 + 0.2 为什么不等于 0.3?

0.1 + 0.2 为什么不等于 0.3?

作者: 越前君 | 来源:发表于2021-10-17 23:49 被阅读0次
配图源自 Freepik

0.10.2 在转换成二进制后会无限循环,由于标准位数的限制后面多余的位数会被截掉,此时就已经出现了精度的损失,相加后因浮点数小数位的限制而截断的二进制数字在转换为十进制就会变成 0.30000000000000004

众所周知,JavaScript 仅有 Number 这个数值类型,而 Number 采用的是 IEEE 754 64 位双精度浮点数编码。

也就是说,不仅是 JavaScript 会产生这种问题,只要是采用 IEEE 754 Floating-point 的浮点数编码方式来表示浮点数时,则会产生这类问题。

References

相关文章

网友评论

      本文标题:0.1 + 0.2 为什么不等于 0.3?

      本文链接:https://www.haomeiwen.com/subject/auntiltx.html