📜  Python中的numpy.left_shift

📅  最后修改于: 2020-06-24 04:41:10             🧑  作者: Mango

numpy.left_shift() 函数用于将整数的位向左移动。

通过在arr1的右边附加arr2 0s(零),将这些位向左移动。由于数字的内部表示是二进制格式,因此此操作等效于将arr1乘以2 ** arr2。例如,如果数字为5,而我们想向左移2位,那么在向左移2位之后,结果将是5 *(2 ^ 2)= 20。

语法: numpy.left_shift(arr1, arr2, /, out=None, *, where=True, casting=’same_kind’, order=’K’, dtype=None, ufunc ‘left_shift’)

参数:

arr1:整数类型的array_like;
arr2:整数类型的array_like要追加到arr1的零的数目。arr2的值应为正整数;
out: [ndarray,可选]将结果存储到的位置。
  ->如果提供,则必须具有广播输入的形状。
  ->如果未提供或没有,则返回新分配的数组。
** kwargs:允许您将关键字的可变长度参数传递给函数。当我们要处理函数中的命名参数时使用它。
where: [array_like,可选] True值表示在该位置计算通用函数(ufunc),False值表示将值保留在输出中。

返回:

整数类型的数组。返回arr1,将arr2次左移。如果arr1和arr2均为标量,则为标量。

代码1: 

# 解释left_shift()函数的Python程序 
  
import numpy as geek 
in_num = 5
bit_shift = 2
  
print ("输入号码 : ", in_num) 
print ("移位数 : ", bit_shift )  
    
out_num = geek.left_shift(in_num, bit_shift)  
print ("左移2位后  : ", out_num)  

输出: 

输入号码 :  5
移位数 :  2
左移2位后  :  20

代码2: 

# 解释left_shift()函数的Python程序 
  
import numpy as geek 
  
in_arr = [2, 8, 15] 
bit_shift =[3, 4, 5] 
   
print ("输入数组 : ", in_arr)  
print ("移位数 : ", bit_shift) 
    
out_arr = geek.left_shift(in_arr, bit_shift)  
print ("左移后的输出数组: ", out_arr)  

输出: 

输入数组 :  [2, 8, 15]
移位数 :  [3, 4, 5]
左移后的输出数组:  [ 16 128 480]