如何獲得Python長雙字面值?我曾嘗試與如何獲得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)
我的OS
。有關信息,我的numpy版本是1.10.1。
似乎它有點重複此線程:http://stackoverflow.com/questions/18536820/numpy-longdouble-arithmetic-does-not-seem-to-be-in-long-double-with-conversion –
什麼NumPy版本你在嗎?它看起來像2015年8月28日這個[可能已經修復](https://github.com/numpy/numpy/issues/4381),所以最新版本的NumPy應該有修復。我目前無法訪問1.10安裝程序進行檢查。 – user2357112
@ user2357112 numpy版本1.10.1。 – zell