所以Python有正负无穷大:
float("inf"), float("-inf")
这似乎是一种必须要注意的特性。有什么我应该注意的吗?
发布于 2009-10-27 08:25:05
C99也是如此。
所有现代处理器使用的IEEE754浮点表示具有几个特殊的位模式,用于正无穷大(sign=0、exp=~0、frac=0)、负无穷大(sign=1、exp=~0、frac=0)和许多NaN (不是一个数字: exp=~0、≠0)。
你只需要担心:一些算术可能会导致浮点异常/陷阱,但这些并不局限于这些“有趣的”常量。
发布于 2018-02-28 12:07:19
我发现了一个到目前为止还没有人提到的警告。我不知道它是否会在实际情况中经常出现,但这里是为了完整性。
通常,计算以无穷大为模的数会返回浮点数,但以无穷大为模的分数会返回nan
(而不是数字)。下面是一个示例:
>>> from fractions import Fraction
>>> from math import inf
>>> 3 % inf
3.0
>>> 3.5 % inf
3.5
>>> Fraction('1/3') % inf
nan
我在Python bug追踪器上提交了一个问题。它可以在https://bugs.python.org/issue32968上看到。
更新:这将是fixed in Python 3.8。
https://stackoverflow.com/questions/1628026
复制相似问题