如何在python中输入浮点无穷大文字?
我听说
inf = float('inf')
是非便携式的。因此,我有以下建议:
inf = 1e400
这些标准还是便携式的?什么是最佳做法?
Answers:
在python 2.6中,如果CPU支持,它是可移植的
float()函数现在会将字符串nan转换为IEEE 754非数字值,并将+ inf和-inf转换为正或负无穷大。这可以在具有IEEE 754语义的任何平台上使用。
float('inf')
是不可移植的,因为当字符串输出在平台之间变化时,不可移植回Python 2.5。从2.6版开始float('inf')
,保证可以在符合IEEE-754的平台上工作(参考:http : //www.python.org/dev/peps/pep-0754/)。
(建议似乎在1e30000范围内,而不仅仅是1e400。)
float('inf')
应该ValueError
在这些平台上进行开发,但是据我所知,这种行为从未经过测试,因为Python(至少是Python的最新版本)还没有达到这样的平台。实际上,不用担心。