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