numpy.finfo#
- class numpy.finfo(dtype)[原始碼]#
浮點數型別的機器限制。
- 參數:
- dtypefloat, dtype 或實例
關於要取得資訊的浮點數或複數浮點數資料型別種類。
說明
給 NumPy 開發人員:請勿在模組層級實例化此項。這些參數的初始計算成本很高,並且會對匯入時間產生負面影響。這些物件會被快取,因此在您的函數內重複呼叫
finfo()
並不是問題。請注意,
smallest_normal
實際上並非 NumPy 浮點數型別中最小的正可表示值。如同 IEEE-754 標準 [1] 中所述,NumPy 浮點數型別會使用次正規數來填補 0 和smallest_normal
之間的間隙。然而,次正規數的精確度可能會大幅降低 [2]。此函數也可用於複數資料型別。如果使用,則輸出將與對應的實數浮點數型別相同(例如,numpy.finfo(numpy.csingle) 與 numpy.finfo(numpy.single) 相同)。但是,輸出對於實部和虛部皆為真。
參考文獻
[1]IEEE 浮點算術標準,IEEE Std 754-2008,pp.1-70,2008,https://doi.org/10.1109/IEEESTD.2008.4610935
[2]維基百科,「次正規數」,https://en.wikipedia.org/wiki/Denormal_number
範例
>>> import numpy as np >>> np.finfo(np.float64).dtype dtype('float64') >>> np.finfo(np.complex64).dtype dtype('float32')
- 屬性:
- bitsint
型別佔用的位元數。
- dtypedtype
傳回
finfo
傳回資訊的 dtype。對於複數輸入,傳回的 dtype 是與其實部和虛部相關聯的float*
dtype。- epsfloat
1.0 與下一個大於 1.0 的最小可表示浮點數之間的差值。例如,對於 IEEE-754 標準中的 64 位元二進位浮點數,
eps = 2**-52
,約為 2.22e-16。- epsnegfloat
1.0 與下一個小於 1.0 的最小可表示浮點數之間的差值。例如,對於 IEEE-754 標準中的 64 位元二進位浮點數,
epsneg = 2**-53
,約為 1.11e-16。- iexpint
浮點數表示法中指數部分的位元數。
- machepint
產生 eps 的指數。
- max適當型別的浮點數
最大的可表示數字。
- maxexpint
造成溢位的最小正基底 (2) 冪次。
- min適當型別的浮點數
最小的可表示數字,通常為
-max
。- minexpint
與尾數中沒有前導 0 一致的最負基底 (2) 冪次。
- negepint
產生 epsneg 的指數。
- nexpint
指數中的位元數,包括其符號和偏差。
- nmantint
尾數中的位元數。
- precisionint
此種浮點數精確到的小數位數的近似值。
- resolution適當型別的浮點數
此型別的近似十進位解析度,即
10**-precision
。tiny
float傳回 tiny 的值,smallest_normal 的別名。
smallest_normal
float傳回 smallest normal 的值。
- smallest_subnormalfloat
遵循 IEEE-754 標準,尾數中前導位元為 0 的最小正浮點數。