📜  Python中的numpy.right_shift

📅  最后修改于: 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]