【问题标题】:For 2 numbers only, is floating point addition and multiplication associative?仅对于 2 个数字,浮点加法和乘法是否关联?
【发布时间】:2018-07-30 09:46:07
【问题描述】:

根据Is Floating point addition and multiplication associative?,我知道 A+B+C 与 A+C+B 会有不同的结果,因为 (A+B)+C 和 (A+C)+B 的结果不同。

但是如果只有 2 个数字呢? A+B 和 B+A 的结果一样吗?

【问题讨论】:

    标签: floating-point addition ieee-754


    【解决方案1】:

    首先,A+B 是否给出与 B+A 相同的结果的问题不是associativity,而是commutativity。要回答您的问题,我们需要知道浮点加法和乘法的操作数顺序是否会影响结果(与 关联性 问题的不同分组相反)。

    现在,IEEE-754 浮点加法和乘法是可交换的(但不是关联的,正如您在问题中正确指出的那样)。

    我可能应该在这里打一个星号,因为作为 IEEE-754 一部分的不同 NaN(实际上是它们所谓的有效载荷)可能会违反交换性,但我认为您对这种特殊情况不感兴趣。

    还有another question on StackOverflow实际上回答了浮点运算的交换性问题——但我认为交换性关联性之间的混淆可能会得到解决这个问题更好。

    【讨论】:

      猜你喜欢
      • 2012-05-09
      • 2016-01-14
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 2011-05-06
      • 2014-02-14
      • 1970-01-01
      • 2021-06-15
      相关资源
      最近更新 更多