📅  最后修改于: 2023-12-03 15:04:33.358000             🧑  作者: Mango
numpy.left_shift()
numpy.left_shift()
是 NumPy 库中的一个函数,用于对数组的元素进行左移操作。
左移操作是将数组的每个元素的二进制表示向左移动指定的位数。对于无符号整数,左移操作等于将每个位数左移相应的距离,并在右侧用零填充空位。对于有符号整数,左移操作会保留符号位。左移可以视为乘以2的幂的简便方法。
numpy.left_shift(arr, shift, out=None, where=True)
参数:
arr
:要进行左移操作的输入数组。shift
:指定的左移位数,可以是整数或数组。out
:选项参数,用于指定输出结果的保存位置。where
:选项参数,用于指定只对满足条件的位置进行左移操作。返回值:
out
:左移操作后的结果数组。import numpy as np
arr = np.array([2, 4, 6])
shift = 2
result = np.left_shift(arr, shift)
print(result)
输出结果:
[8 16 24]
shift
参数是整数,那么所有的数组元素都将左移相同的位数。shift
参数是一个数组,它必须与输入数组 arr
的形状相同,每个元素都将与对应位置的元素进行左移操作。左移操作的工作原理是,对于每个元素,将其二进制表示左移指定的位数,并在右侧用零填充空位。对于有符号整数,符号位也将被左移。
import numpy as np
arr = np.array([-3, 5, -7, 9])
shift = 1
result = np.left_shift(arr, shift)
print(result)
输出结果:
[-6 10 -14 18]
上述示例中,输入数组包含负数,左移操作会保留符号位。
shift
参数是负数时,会执行右移操作而不是左移。