gpt4 book ai didi

floating-point - 为什么无穷大 × 0 = NaN?

转载 作者:行者123 更新时间:2023-12-01 15:50:51 25 4
gpt4 key购买 nike

IEEE 754 将 1/0 的结果指定为 ∞(无穷大)。

但是,IEEE 754 然后将 0 × ∞ 的结果指定为 NaN。

这个感觉违反直觉 : 为什么 0 × ∞ 不是 0?

  • 我们可以将 1/0 = ∞ 视为 1/z 的极限,因为 z 趋于零
  • 我们可以将 0 × ∞ = 0 视为 0 × z 的极限,因为 z 趋于 ∞。

  • 为什么 IEEE 标准遵循直觉 1. 而不是 2.?

    最佳答案

    如果您不认为它们实际上是零或无限,则更容易理解 IEEE 754 浮点零和无穷大的行为。

    浮点零不仅代表实数零。它们还表示将四舍五入到小于最小次正规数的所有实数。这就是为什么要签名零。如果它们实际上不是零,即使很小的数字也有符号。

    类似地,每个无穷大也代表所有具有相应符号的数字,该符号将四舍五入为大小不适合有限范围的值。

    NaN 表示“无实数结果”,例如 sqrt(-1),或“没有线索”。

    非常大的东西除以非常小的东西非常非常大,所以`Infinity/0 == Infinity”。

    非常大的东西乘以非常小的东西可以是任何东西,这取决于我们不知道的实际大小。由于结果可以是从很小到很大的任何值,因此 NaN 是最合理的答案。

    ================================================== ================

    虽然我认为以上是理解实际浮点行为的最佳方式,但在实数限制中也会出现类似的问题。

    假设 f(x)趋于无穷大和 g(x)趋于零为 x趋于无穷。很容易证明f(x)/g(x)趋于无穷大为 x趋于无穷。另一方面,无法证明 f(x)*g(x) 的极限。没有关于函数的更多信息。

    关于floating-point - 为什么无穷大 × 0 = NaN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37841240/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com