numpy.finfo#
- class numpy.finfo(dtype)[source]#
浮点类型机器限制。
- 参数:
- 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,第 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_subnormalfloat
尾数中以 0 作为前导位的 IEEE-754 最小的正浮点数。