如何在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