如何在python中键入浮点无限文本

如何在python中键入浮点无限文本,python,floating-point,portability,numerical,Python,Floating Point,Portability,Numerical,如何在python中键入浮点无限文本 我听说 inf = float('inf') 是不可携带的。因此,我有以下建议: inf = 1e400 这些是标准的还是便携式的?什么是最佳实践?如果CPU支持,它是可移植的 现在,float()函数将打开 将nan串入IEEE 754而不是 数值,并将+inf和-inf转换为 正无穷大或负无穷大。这 可在IEEE 754的任何平台上工作 语义学 float('inf')是不可移植的,因为当字符串输出在不同平台之间变化时,不能移植回Python 2

如何在python中键入浮点无限文本

我听说

 inf = float('inf')
是不可携带的。因此,我有以下建议:

 inf = 1e400
这些是标准的还是便携式的?什么是最佳实践?

如果CPU支持,它是可移植的

现在,float()函数将打开 将nan串入IEEE 754而不是 数值,并将+inf和-inf转换为 正无穷大或负无穷大。这 可在IEEE 754的任何平台上工作 语义学

float('inf')
是不可移植的,因为当字符串输出在不同平台之间变化时,不能移植回Python 2.5。从2.6及以后的
float('inf')
保证在IEEE-754-compliance平台(参考:)上工作


(建议的范围似乎是1e30000,而不仅仅是1e400。)

也许您可以这样做

try:
    inf = float('inf')
except:  # check for a particular exception here?
    inf = 1e30000

+1.
float('inf')
通常是首选。甚至“inf=1e30000”可能会开始引发
overflowerrror
,而不是在Python的未来版本中产生无穷大。@fmark:很幸运找到一个运行Python但没有IEEE 754语义的平台。理论上,在这些平台上,
float('inf')
应该会引起
ValueError
,但据我所知,这种行为从未被测试过,因为Python(至少是Python的最新版本)还没有达到这样的平台。实际上,不要担心。