设 x、y 和 z 为浮点数。那么 (x+y)+z =/= x+(y+z) 是真的吗?有人能给我举个例子吗?我希望 x、y 和 z 是浮点数(IEEE 表示),而不仅仅是任何实数。
正如您提出的问题一样,这通常不正确。存在 x、y 和 z 使得(x+y)+z = x+(y+z)。但您可能想问是否始终如此(x+y)+z = x+(y+z)。这并不总是正确的。
一个明显的反例是 (2 64 + \xe2\x88\x922 64 ) + 1 和 2 64 + (\xe2\x88\x922 64 + 1)。对于 64 位二进制 IEEE-754 算术,前者是 0 + 1 = 1,后者是 2 64 + \xe2\x88\x922 64 = 0。在后者中,由于 \xe2 的大小而丢失了 1 \x88\x922 64太大了,总和没有足够的精度来包含 1。
\n还有一些更微妙的情况,其中一个数字的一部分丢失了。
\n| 归档时间: |
|
| 查看次数: |
1286 次 |
| 最近记录: |