NumPy 的按位右移函数()



numpy 的 **bitwise_right_shift()** 函数用于对输入数组的每个元素执行按位右移运算。

此函数将每个整数的位向右移动指定的位数,有效地将数字除以 2 的幂。

对于正整数,此函数的结果为整数除法;对于有符号整数,它通过执行算术移位来保持符号。

此函数处理各种整数类型的数组,并返回具有相同形状和类型的数组。它等效于在 Python 中使用右移运算符 **>>**。

语法

以下是 NumPy **bitwise_right_shift()** 函数的语法:

numpy.bitwise_right_shift(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])

参数

NumPy **bitwise_right_shift()** 函数采用以下参数:

  • **x1:** 应用右移的输入值。
  • **x2:** 输入值 x1 右移的位数。
  • **out(ndarray, None 或 ndarray 和 None 的元组,可选):** 存储结果的位置。
  • **where(array_like, 可选):** 此参数是广播到输入的条件。
  • **kwargs:** 参数例如 casting, order, dtype 和 subok 是附加的关键字参数,可根据需要使用。

返回值

此函数返回一个数组,其中每个元素都已右移。

示例 1

以下是 NumPy **bitwise_right_shift()** 函数的基本示例,其中对整数 18 执行按位右移 2 位:

import numpy as np

# Define the integer and the shift amount
x = 18
shift = 2

# Perform the bitwise right shift operation
result = np.right_shift(x, shift)
print(result)    

以下是将 **bitwise_right_shift()** 函数应用于整数 18 的输出:

4

示例 2

当使用移位值数组执行按位右移时,NumPy 允许我们根据另一个数组指定的不同位数来移动输入数组的每个元素。以下是一个示例:

import numpy as np

# Define the input array and the array of shift values
x = np.array([16, 32, 64])
shift_values = np.array([1, 2, 3])

# Perform the bitwise right shift operation
result = np.right_shift(x, shift_values)
print(result)  

以下是按位右移的输出:

[8 8 8]
numpy_binary_operators.htm
广告