没有下溢和上溢,是否有2个数字,十进制形式的A <B,但是转换为浮点后的A> B?

时间:2018-08-01 01:47:00

标签: floating-point ieee-754 floating-point-conversion

例如,以十进制表示并转换为浮点数后,0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000001大于0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001

document.writeln(0.00000000000000000000000000000000000000000000000000000000000000000000000000000011>0.0000000000000000000000000000000000000000000000000000000000000000000000000000001);

并且1.9999999999999999999的小数位数小于2,但是在转换为浮点数后它们变得相等:

document.writeln(1.9999999999999999999==2);

我的问题是,是否有两个数字A和B,即十进制形式的A B?

1 个答案:

答案 0 :(得分:5)

通常的舍入规则是弱单调的,所以不。

IEEE 754定义的舍入规则将结果四舍五入到最接近的可表示值,而不管它所处的方向如何,或者将其舍入到所选方向上的最接近的可表示值(例如,朝零)。两个数字的舍入不可能互相交叉(使用相同规则舍入时),因为这意味着一个数字没有舍入到最接近的可表示值。