numpy.finfo#

class numpy.finfo(dtype)[source]#

浮点类型的机器限制。

参数:
dtype浮点型、数据类型或实例

要获取信息的浮点型或复数浮点型数据类型。

另请参阅

iinfo

整数数据类型的等效项。

spacing

一个值与最近相邻数字之间的距离

nextafter

x1 之后朝向 x2 的下一个浮点值

注意

对于 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 的最小正浮点数。