如何在python中键入浮点无穷大文字?如何在python中键入浮点无穷大文字
听说
inf = float('inf')
是不可移植的。因此,我有以下建议:
inf = 1e400
是这些标准或便携式吗?什么是最佳做法?
如何在python中键入浮点无穷大文字?如何在python中键入浮点无穷大文字
听说
inf = float('inf')
是不可移植的。因此,我有以下建议:
inf = 1e400
是这些标准或便携式吗?什么是最佳做法?
在python 2.6它是便携式的,如果CPU支持它
浮子()函数现在将关闭 串楠成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)
也许你可以做这样的事情
try:
inf = float('inf')
except: # check for a particular exception here?
inf = 1e30000
+1。一般来说,float('inf')'肯定是首选。甚至有可能“inf = 1e30000”可能会在未来的某个版本的Python中开始引发“OverflowError”而不是产生无穷大。 – 2010-05-27 10:06:59
的平台上会发生什么事没有IEEE 754语义? – fmark 2010-05-27 09:15:14
@fmark:祝您找到一个Python运行的平台,但它没有IEEE 754语义。理论上讲,'float('inf')'应该在这些平台上引发'ValueError',但据我所知,这种行为从来没有被测试过,因为Python(至少是Python的最新版本)至今尚未见过这样的平台。在实践中不要担心。 – 2010-05-27 10:09:32