numpy.finfo#

class numpy.finfo(dtype)[源代码]#

浮点类型的机器限制.

参数:
dtypefloat,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,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 .

tinyfloat

返回 tiny 的值,smallest_normal 的别名.

smallest_normalfloat

返回最小正规数的值.

smallest_subnormalfloat

尾数中前导位为 0 的最小正浮点数,遵循 IEEE-754 标准.