Since numbers are internally represented in binary, this operation is equivalent to dividing arr1 by 2 ** arr2. For example, if the number is 20 and we want a 2-bit right shift, then after a 2-bit right shift, the result will be 20 / (2 ^ 2) = 5.
Syntax: strong> numpy.right_shift (arr1, arr2, /, out = None, *, where = True, casting = `same_kind`, order = `K`, dtype = None, ufunc `right_shift`)
arr1: array_like of integer type
arr2: array_like of integer type
Number of bits we have to remove at the right of arr1.
out: [ndarray, optional] A location into which the result is stored.
– & gt; If provided, it must have a shape that the inputs broadcast to.
– & gt; If not provided or None, a freshly-allocated array is returned.
** kwargs: allows you to pass keyword variable length of argument to a function. It is used when we want to handle named argument in a function.
where: [array_like, optional] True value means to calculate the universal functions (ufunc) at that position, False value means to leave the value in the output alone.
Return: array of integer type.
Return arr1 with bits shifted arr2 times to the right. This is a scalar if both arr1 and arr2 are scalars.
Code # 1: Work
Output: p >
Input number: 20 Number of bit shift: 2 After right shifting 2 bit: 5
Code # 2:
Input array: [ 24, 48, 16] Number of bit shift: [3, 4, 2] Output array after right shifting: [3 3 4]