Python numpy.left_shift()
numpy.left_shift()函数用于将一个整数的位数向左移动。
通过在arr1的右边加上arr2的0(零),比特被移到左边。由于数字的内部表示是二进制格式,这个操作相当于用arr1乘以2arr2。例如,如果数字是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 :整数类型的数组
arr2 :整数类型的数组
要追加到arr1的零的数量。arr2的值应该是正整数。
out :[ndarray, optional] 一个储存结果的位置。
-> 如果提供,它必须有一个输入广播到的形状。
-> 如果没有提供或没有,将返回一个新分配的数组。
**kwargs :允许你向一个函数传递长度可变的关键字参数。当我们想在一个函数中处理命名的参数时,它就被使用。
where :[array_like, optional]真值意味着在该位置计算通用函数(ufunc),假值意味着不考虑输出中的值。
返回 :整数类型的数组。
返回Arr1,并将Arr2的位数向左移动。如果arr1和arr2都是标量,这就是一个标量。
**代码 #1 : **
# Python program explaining
# left_shift() function
import numpy as geek
in_num = 5
bit_shift = 2
print ("Input number : ", in_num)
print ("Number of bit shift : ", bit_shift )
out_num = geek.left_shift(in_num, bit_shift)
print ("After left shifting 2 bit : ", out_num)
输出 :
Input number : 5
Number of bit shift : 2
After left shifting 2 bit : 20
代码 #2 :
# Python program explaining
# left_shift() function
import numpy as geek
in_arr = [2, 8, 15]
bit_shift =[3, 4, 5]
print ("Input array : ", in_arr)
print ("Number of bit shift : ", bit_shift)
out_arr = geek.left_shift(in_arr, bit_shift)
print ("Output array after left shifting: ", out_arr)
输出 :
Input array : [2, 8, 15]
Number of bit shift : [3, 4, 5]
Output array after left shifting: [ 16 128 480]