numpy.finfo#
- class numpy.finfo(dtype)[source]#
浮点类型的机器限制。
- 参数:
- 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')
- 属性:
- bits整型
该类型所占的位数。
- dtype数据类型
返回
finfo
提供信息的 dtype。对于复数输入,返回的 dtype 是其实部和虚数部分关联的float*
dtype。- eps浮点型
1.0 与下一个大于 1.0 的最小可表示浮点数之间的差值。例如,对于 IEEE-754 标准中的 64 位二进制浮点数,
eps = 2**-52
,约为 2.22e-16。- epsneg浮点型
1.0 与下一个小于 1.0 的最大可表示浮点数之间的差值。例如,对于 IEEE-754 标准中的 64 位二进制浮点数,
epsneg = 2**-53
,约为 1.11e-16。- iexp整型
浮点表示中指数部分的位数。
- machep整型
产生 eps 的指数。
- max相应类型的浮点数
最大可表示数。
- maxexp整型
导致溢出的基数 (2) 的最小正幂。
- min相应类型的浮点数
最小可表示数,通常为
-max
。- minexp整型
基数 (2) 的最大负幂,与尾数中没有前导 0 一致。
- negep整型
产生 epsneg 的指数。
- nexp整型
指数部分的位数,包括其符号位和偏移量。
- nmant整型
尾数部分的位数。
- precision整型
该浮点类型精确到的小数位数。
- resolution相应类型的浮点数
该类型的近似十进制分辨率,即
10**-precision
。tiny
浮点型返回微小值,即 smallest_normal 的别名。
smallest_normal
浮点型返回最小正规数。
- smallest_subnormal浮点型
遵循 IEEE-754 标准,尾数中前导位为 0 的最小正浮点数。