真实靠近机器:D中的浮点
https://dlang.org/articles/d-floating-point.html
说
这句话是什么意思?浮点类型F的有用关系,其中x和y的类型为F
...
- x> 0当且仅当1 /(1 / x)> 0时0;当且仅当1 /(1 / x)<1时,x <0。 0
答案 0 :(得分:5)
在您引用的文字中,我们正在查看表示如何围绕1对称,并且舍入不会破坏这一点。也就是说,对于任何数字0 < x < 1
,都有相应的数字1 < y < ∞
,例如y = 1/x
和1/y = x
。这是上半部分 - 第二部分与负数相同:0 > x > -1
和-1 > y > -∞
。
可能不会立即明白这可能是一个问题,但请考虑x = 3
。
y
必须为1/3 = 0.333...
。由于精度为3位十进制数,1/y
将为3.003003003...
。 IEEE 754定义了这应该如何运作,并说舍入应该确保1/(1/x)
应该等于x
,因此结果应该是3
,即使有1/x
和1/y
中的舍入错误 - 它们应相互抵消。
旧的浮点系统并不像IEEE 754那样表现良好。我不确定它们中的任何一个是否在1周围不对称,但这肯定在可能性的领域。