2017-05-31 41 views
1

考虑以下几点:IEEE 754浮点 - 为什么这个工作?

.1 + .2 === .3 // false 
1 * .3 === .3 // true 

......前者不会导致0.3因为不能在IEEE 754双精度浮点精确表示,这样的结果几乎却没有一个或多个操作数相当0.3

为什么后者返回true。是否因为0.3在IEEE 754双精度浮点中恰好可以表示?

回答

1

0.3不完全可以表示,但是1.0是。在IEEE轮到最近规则下,任意数乘以1,都必须返回等于它自己的原始值。