我想知道以下问题,如果无穷大等于无穷大(在计算机中),负无穷大等于负无穷大,为什么以下代码段的最后一句话返回false?
In [2]: math.inf == math.inf
Out[2]: True
In [3]: -math.inf == -math.inf
Out[3]: True
In [4]: (-math.inf) + (math.inf) == (-math.inf) + (math.inf)
Out[4]: False
In [5]:
我尝试了几种语言(C ++,Javascript和Haskell),所有结果都是一样的。我认为它与x86_64架构有关,但我不确定。
答案 0 :(得分:1)
这是您希望计算机返回的内容。例如,请考虑x**2 - x
。当x变为无穷大时,函数为inf-inf
,但答案是无限的,而不是0。
像inf - inf
这样的术语被称为不确定的。答案实际上可以是任何实数(或\ pm无穷大)