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

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.02
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 "", 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

posted @   hzxPeter  阅读(464)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示