numpy.finfo#

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

浮点类型的机器限制.

参数:
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 标准 754-2008,第1-70页,2008年,https://doi.org/10.1109/IEEESTD.2008.4610935

[2]

Wikipedia, “非正规数”, 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**-精度.

tinyfloat

返回 tiny 的值,smallest_normal 的别名.

smallest_normalfloat

返回最小正规数的值.

smallest_subnormalfloat

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