>>> 0.1 + 0.01 0.11 >>> 0.1 + 0.02 0.12000000000000001 >>> 0.1 + 0.03 0.13 >>> 0.1 + 0.05 0.15000000000000002 >>> 0.1 + 0.06 0.16
[quote=引用 1 楼 hijack00 的回复:] 这个不是bug,浮点数毕竟还是用32位或者64位比特(也有其他位数)表示的,不能表示任意实数,计算机中表示的浮点数实际上是计算机所能表示的浮点数中最接近实际值的那一个。这样就必然会存在一个“量化误差”
浮点数计算是有误差,因为计算机是用位数表示的,不能完整的表达数字的范围,其他编程语言也会有这个问题
这个不是bug,浮点数毕竟还是用32位或者64位比特(也有其他位数)表示的,不能表示任意实数,计算机中表示的浮点数实际上是计算机所能表示的浮点数中最接近实际值的那一个。这样就必然会存在一个“量化误差”
37,719
社区成员
34,239
社区内容
加载中
试试用AI创作助手写篇文章吧