Shift the bits of integer array elements to the right in Numpy



To shift the bits of integer array elements to the right, use the numpy.right_shift() method in Python Numpy. Bits are shifted to the right x2. Because the internal representation of numbers is in binary format, this operation is equivalent to dividing x1 by 2**x2.

The x1 is the Input values. The x2 is the number of bits to remove at the right of x1. If x1.shape != x2.shape, they must be broadcastable to a common shape.

The function right_shift() returns x1 with bits shifted x2 times to the right. This is a scalar if both x1 and x2 are scalars.

Steps

At first, import the required library −

import numpy as np

Create a One-Dimensional array −

arr = np.array([56, 87, 23, 92, 81, 98, 45, 98])

Displaying our array −

print("Array...
",arr)

Get the datatype −

print("
Array datatype...
",arr.dtype)

Get the dimensions of the Array −

print("
Array Dimensions...
",arr.ndim)

Get the shape of the Array −

print("
Our Array Shape...
",arr.shape)

Get the number of elements of the Array −

print("
Elements in the Array...
",arr.size)

The count of right shift −

valRight = 3

To shift the bits of integer array elements to the right, use the numpy.right_shift() method in Python Numpy −

print("
Result (right shift)...
",np.right_shift(arr, valRight))

Example

import numpy as np

# Create a One-Dimensional array
arr = np.array([56, 87, 23, 92, 81, 98, 45, 98])

# Displaying our array
print("Array...
",arr) # Get the datatype print("
Array datatype...
",arr.dtype) # Get the dimensions of the Array print("
Array Dimensions...
",arr.ndim) # Get the shape of the Array print("
Our Array Shape...
",arr.shape) # Get the number of elements of the Array print("
Elements in the Array...
",arr.size) # The count of right shift valRight = 3 # To shift the bits of an integer to the right, use the numpy.right_shift() method in Python Numpy print("
Result (right shift)...
",np.right_shift(arr, valRight))

Output

Array...
[56 87 23 92 81 98 45 98]

Array datatype...
int64

Array Dimensions...
1

Our Array Shape...
(8,)

Elements in the Array...
8

Result (right shift)...
[ 7 10 2 11 10 12 5 12]

Advertisements