fma*_*ark 71 python floating-point portability numerical
如何在python中键入浮点无限文字?
我听说
inf = float('inf')
Run Code Online (Sandbox Code Playgroud)
是不便携的.因此,我有以下建议:
inf = 1e400
Run Code Online (Sandbox Code Playgroud)
是这些标准,还是便携式的?什么是最佳做法?
use*_*019 60
在python 2.6中,如果CPU支持它,它是可移植的
float()函数现在将字符串nan转换为IEEE 754 Not A Number值,+ inf和-inf转换为正或负无穷大.这适用于任何具有IEEE 754语义的平台.
ken*_*ytm 16
float('inf')当字符串输出在平台之间变化时,不可移植,因为不可移植回Python 2.5.从2.6及以后float('inf')可以保证在IEEE-754合规平台上工作(参考:http://www.python.org/dev/peps/pep-0754/).
(建议似乎在1e30000范围内,而不仅仅是1e400.)
Joh*_*ooy 11
也许你可以做这样的事情
try:
inf = float('inf')
except: # check for a particular exception here?
inf = 1e30000
Run Code Online (Sandbox Code Playgroud)