NumPy 二元运算符

按位右移运算符 (>>) 获取两个数字,并将第一个操作数的位右移第二个操作数指定的位数。例如:要将x位右移y位,可以使用表达式(x>>y)。它相当于x除以2y

下面的示例描述了如何右移运算符的工作原理:

1000 >> 2 returns 250

                      (In Binary)
   1000         ->    1111101000  
   >> 2                     |  right shift the bits
   -----                    V  by 2 places
    250         <-      11111010 
                      (In Binary) 

NumPy right_shift() 函数将整数的位向右移动。位向右移动 y。该运算相当于x除以2y。此 ufunc 实现 C/Python 运算符 >>

语法

numpy.right_shift(x, y, out=None) 

参数

x必填。 指定输入数组。
y必填。 指定要删除x右侧的位数。必须是非负数。如果x.shape != y.shape,则它们必须可广播为通用形状。
out可选。 指定存储结果的位置。如果提供,它必须具有输入广播到的形状。如果未提供或没有提供,则返回新分配的数组。

返回值

返回x 位向右移动 y 次。如果 x 和 y 都是标量,则这是一个标量。

示例:

在下面的示例中,right_shift() 函数用于使用两个标量计算右移运算。

import numpy as np

x = 1000
y = 2

#右移操作
z = np.right_shift(x, y)

#显示结果
print("z =", z) 

上述代码的输出将是:

z = 250 

示例:

right_shift() 函数可与数组一起使用,它按元素计算数组的右移操作。

import numpy as np

x = np.array([[100, 200],[300, 400]])
y = np.array([[0, 1],[2, 3]])

#右移操作
z = np.right_shift(x, y)

#显示结果
print("z =")
print(z) 

输出上述代码将是:

z =
[[100 100]
 [ 75  50]]