浮点 IEEE 保证

Floating point IEEE guarantees

我想知道,对于以下情况,IEEE 标准是否保证使用任何符合标准的 cpu 的所有可能情况(不包括 NaN 和无穷大):

(#表示所有操作:+ - * /)

  1. 交换性:+* 是有保证的,除非其中一个参数是 NaN-/ 不可交换,除以 0.0 根据分子得到 +Inf-InfNaN。在这里我没有考虑 signed zeros.

  2. 关联性。绝对不。两个小数加一个大数是反例。

  3. x - x0 除非 xNaN+Inf-Inf,在这种情况下是 NaN.

  4. x * 00 除非 xNaN+Inf-Inf,在这种情况下是 NaN.

  5. x * 1x 除非 xNaN 在这种情况下它是 NaN.

  6. x / x1 除非 x 是 0.0+Inf-InfNaN,其中如果是 NaN.

注意 (5) 的细微差别。