Python 关于正负无穷float(‘inf’)的一些用法


Python中可以用如下方式表示正负无穷:

float("inf"), float("-inf")

利用 inf 做简单加、乘算术运算仍会得到 inf

>>> 1 + float('inf')
inf
>>> 2 * float('inf')
inf

 

但是利用 inf 乘以0会得到 not-a-number(NaN):

>>> 0 * float("inf")
nan

除了inf外的其他数除以inf,会得到0

>>> 889 / float('inf')
0.0
>>> float('inf')/float('inf')
nan

 

通常的运算是不会得到 inf值的 

>>> 2.0**2
4.0
>>> _**2
16.0
>>> _**2
256.0
>>> _**2
65536.0
>>> _**2
4294967296.0
>>> _**2
1.8446744073709552e+19
>>> _**2
3.4028236692093846e+38
>>> _**2
1.157920892373162e+77
>>> _**2
1.3407807929942597e+154
>>> _**2
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
OverflowError: (34, 'Numerical result out of range')

inf的运算规则遵从 IEEE-754 standard

不等式:

当涉及 > 和 < 运算时,

  • 所有数都比-inf大
  • 所有数都比+inf小

 等式:

+inf 和 +inf相等

-inf 和 -inf相等

 

Refer to:

http://stackoverflow.com/questions/1628026/python-infinity-any-caveats

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM