如何获得 Python 长双字面值?我试过了
numpy.longdouble(1e309)
和
numpy.longdouble("1e309")
但他们俩都回来了inf
。这样做的正确方法是什么?
[编辑] 下面的答案说 long double 在某些平台上被视为 double 。在我的系统上不是这样。为了证明这一点,我尝试过:
np.longdouble(2.0)**1029
在我的系统上(Mac OS 10.11)。它返回
5.7526180315594109047e+309
[ EDIT2 ] 正如建议的那样,我刚刚尝试过
np.finfo(np.longdouble)
这使
finfo(resolution=1e-18,
min=-1.18973149536e+4932,
max=1.18973149536e+4932,
dtype=float128)
在我的操作系统上。有关信息,我的 numpy 版本是 1.10.1。