例如,0.00000000000000000000000000000000000000000000000000000000000000000000000000000011大于以十进制和转换为浮点数后0.0000000000000000000000000000000000000000000000000000000000000000000000000000001:
document.writeln(0.00000000000000000000000000000000000000000000000000000000000000000000000000000011>0.0000000000000000000000000000000000000000000000000000000000000000000000000000001);
并且 1.9999999999999999999 在十进制中小于 2,但转换为浮点数后它们变得相等:
document.writeln(1.9999999999999999999==2);
我的问题是,有没有2个数字,A和B,十进制形式是AB?
最佳答案
通常的舍入规则是弱单调的,所以不是。
IEEE 754 定义的舍入规则将结果舍入到最接近的可表示值,无论其处于哪个方向,或者舍入到所选方向(例如朝向零)上的最近可表示值。两个数字的四舍五入不可能相互交叉(当使用相同的规则四舍五入时),因为这意味着一个数字没有四舍五入到最接近的可表示值。
关于floating-point - 没有下溢和溢出,是否有任何2个数字,其中A < B为十进制形式,但转换为浮点数后A> B?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51624287/