Math 无穷等式

Math 无穷等式,math,infinity,Math,Infinity,我想知道下面的问题,如果无穷等于无穷(在计算机中),负无穷等于负无穷,为什么下面片段的最后一句返回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++、Javascri

我想知道下面的问题,如果无穷等于无穷(在计算机中),负无穷等于负无穷,为什么下面片段的最后一句返回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体系结构有关,但我不确定。

这就是您希望计算机返回的内容。作为一个例子,考虑<代码> x** 2 -x/代码>。当x变为无穷大时,函数是
inf
,但答案是无穷大而不是0

inf-inf
这样的术语被称为不确定。答案实际上可以是任何实数(或\pm无穷大)

(-math.inf)+(math.inf)
NaN
,并且
NaN
不等于它本身。链接解释了理由。