上一主题

numpy.copysign

下一主题

numpy.ldexp

numpy.frexp

numpy.frexp(x[, out1, out2]) = <ufunc 'frexp'>

将x的元素分解为尾数和二进制指数。

返回(尾数指数),其中x =尾数* 2 **指数尾数位于开放间隔(-1,1),而二进制指数是有符号整数。

参数:

x:array_like

要分解的数字的数组。

out1:ndarray,可选

输出数组的尾数。必须与x具有相同的形状。

out2:ndarray,可选

输出指数的数组。必须与x具有相同的形状。

返回:

(尾数,指数):ndarrays的元组,(float,int)

尾数是值为-1和1之间的浮点数组。exponent是一个int数组,表示2的指数。

也可以看看

ldexp
计算y = x1 * 2 ** x2 t0 >,frexp的倒数。

笔记

不支持复杂的dtypes,它们会引发一个TypeError。

例子

>>> x = np.arange(9)
>>> y1, y2 = np.frexp(x)
>>> y1
array([ 0.   ,  0.5  ,  0.5  ,  0.75 ,  0.5  ,  0.625,  0.75 ,  0.875,
        0.5  ])
>>> y2
array([0, 1, 2, 2, 3, 3, 3, 3, 4])
>>> y1 * 2**y2
array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.])