NumPy参考 >例行程序 >Mathematical functions > numpy.ldexp
numpy.
ldexp
(X1,X2,/,出=无,*,其中=真,铸造= 'same_kind' ,为了= 'K' ,D型细胞=无,subok =真[,签名,extobj ] )= <ufunc 'ldexp'> ¶按元素返回x1 * 2 ** x2。
尾数x1和二进制指数x2用于构造浮点数。x1 * 2**x2
乘数数组。
二进制指数数组。如果为,则必须将它们广播为通用形状(成为输出的形状)。x1.shape != x2.shape
结果存储的位置。如果提供,它必须具有输入广播到的形状。如果未提供或没有,则返回一个新分配的数组。元组(只能作为关键字参数)的长度必须等于输出的数量。
此条件通过输入广播。在条件为True的位置,将out数组设置为ufunc结果。在其他地方,out数组将保留其原始值。请注意,如果通过default创建未初始化的out数组out=None
,则条件为False的数组中的
位置将保持未初始化。
有关其他仅关键字的参数,请参见 ufunc docs。
的结果。如果x1和x2均为标量,则为标量。x1 * 2**x2
笔记
不支持复杂的dtype,它们会引发TypeError。
ldexp
作为的逆frexp
运算是有用的,如果单独使用则更简单地使用表达式。x1 * 2**x2
例子
>>> np.ldexp(5, np.arange(4))
array([ 5., 10., 20., 40.], dtype=float16)
>>> x = np.arange(6)
>>> np.ldexp(*np.frexp(x))
array([ 0., 1., 2., 3., 4., 5.])