1
考虑以下几点:IEEE 754浮点 - 为什么这个工作?
.1 + .2 === .3 // false
1 * .3 === .3 // true
......前者不会导致0.3
因为不能在IEEE 754双精度浮点精确表示,这样的结果几乎却没有一个或多个操作数相当0.3
。
为什么后者返回true
。是否因为0.3
在IEEE 754双精度浮点中恰好可以表示?
考虑以下几点:IEEE 754浮点 - 为什么这个工作?
.1 + .2 === .3 // false
1 * .3 === .3 // true
......前者不会导致0.3
因为不能在IEEE 754双精度浮点精确表示,这样的结果几乎却没有一个或多个操作数相当0.3
。
为什么后者返回true
。是否因为0.3
在IEEE 754双精度浮点中恰好可以表示?
0.3不完全可以表示,但是1.0是。在IEEE轮到最近规则下,任意数乘以1,都必须返回等于它自己的原始值。