📅  最后修改于: 2020-06-24 04:49:55             🧑  作者: Mango
numpy.right_shift()
函数用于将整数的位向右移动。
因为数字的内部表示是二进制格式,所以此操作等效于将arr1除以2 ** arr2。例如,如果数字为20,并且我们想右移2位,那么在右移2位后,结果将为20 /(2 ^ 2)= 5。
语法:numpy.right_shift(arr1, arr2, /, out=None, *, where=True, casting=’same_kind’, order=’K’, dtype=None, ufunc ‘right_shift’)
参数:
arr1:整数类型的array_like
arr2:整数类型的array_like我们必须在arr1的右边删除位数。
out: [ndarray,可选]将结果存储到的位置。
->如果提供,则必须具有广播输入的形状。
->如果未提供或没有,则返回新分配的数组。
** kwargs:允许您将关键字的可变长度参数传递给函数。当我们要处理函数中的命名参数时使用它。
where: [array_like,可选]真值表示在该位置计算通用函数(ufunc),假值表示将值保留在输出中。
返回:
整数类型的数组。返回arr1,其位向右偏移arr2次。如果arr1和arr2均为标量,则为标量。
代码1:
# 解释right_shift()函数的Python程序
import numpy as geek
in_num = 20
bit_shift = 2
print ("输入数 : ", in_num)
print ("移位数 : ", bit_shift )
out_num = geek.right_shift(in_num, bit_shift)
print ("右移2位后 : ", out_num)
输出:
输入数 : 20
移位数 : 2
右移2位后 : 5
代码2:
# 解释right_shift()函数的Python程序
import numpy as geek
in_arr = [24, 48, 16]
bit_shift =[3, 4, 2]
print ("输入数组 : ", in_arr)
print ("移位数 : ", bit_shift)
out_arr = geek.right_shift(in_arr, bit_shift)
print ("右移后的输出数组: ", out_arr)
输出:
输入数组 : [24, 48, 16]
移位数 : [3, 4, 2]
右移后的输出数组: [3 3 4]