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 Standard for Floating-Point Arithmetic, IEEE Std 754-2008, pp.1-70, 2008, https://doi.org/10.1109/IEEESTD.2008.4610935
[2]Wikipedia, “Denormal Numbers”, 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
底数(2)的最负指数,与尾数中没有前导 0 保持一致.
- negepint
产生 epsneg 的指数.
- nexpint
指数中的位数,包括其符号和偏差.
- nmantint
尾数中的位数.
- precisionint
此种浮点数精确到的小数位数的大概数量.
- resolution适当类型的浮点数
此类型的大概小数分辨率,即
10-precision.tinyfloat返回 tiny 的值,smallest_normal 的别名.
smallest_normalfloat返回最小 normal 的值.
- smallest_subnormalfloat
根据 IEEE-754 标准,尾数中前导位为 0 的最小正浮点数.