Numpy provides the following bitwise operators.
SN | Operator | Description |
---|---|---|
1 | bitwise_and | It is used to calculate the bitwise and operation between the corresponding array elements. |
2 | bitwise_or | It is used to calculate the bitwise or operation between the corresponding array elements. |
3 | invert | It is used to calculate the bitwise not the operation of the array elements. |
4 | left_shift | It is used to shift the bits of the binary representation of the elements to the left. |
5 | right_shift | It is used to shift the bits of the binary representation of the elements to the right. |
The NumPy provides the bitwise_and() function which is used to calculate the bitwise_and operation of the two operands.
The bitwise and operation is performed on the corresponding bits of the binary representation of the operands. If both the corresponding bit in the operands is set to 1, then only the resultant bit in the AND result will be set to 1 otherwise it will be set to 0.
import numpy as np a = 10 b = 12 print("binary representation of a:",bin(a)) print("binary representation of b:",bin(b)) print("Bitwise-and of a and b: ",np.bitwise_and(a,b))
Output:
The output of the AND result of the two bits is 1 if and only if both the bits are 1 otherwise it will be 0.
A | B | AND (A, B) |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
The NumPy provides the bitwise_or() function which is used to calculate the bitwise or operation of the two operands.
The bitwise or operation is performed on the corresponding bits of the binary representation of the operands. If one of the corresponding bit in the operands is set to 1 then the resultant bit in the OR result will be set to 1; otherwise it will be set to 0.
import numpy as np a = 50 b = 90 print("binary representation of a:",bin(a)) print("binary representation of b:",bin(b)) print("Bitwise-or of a and b: ",np.bitwise_or(a,b))
Output:
The output of the OR result of the two bits is 1 if one of the bits are 1 otherwise it will be 0.
A | B | Or (A, B) |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
It is used to calculate the bitwise not the operation of the given operand. The 2's complement is returned if the signed integer is passed in the function.
Consider the following example.
import numpy as np arr = np.array([20],dtype = np.uint8) print("Binary representation:",np.binary_repr(20,8)) print(np.invert(arr)) print("Binary representation: ", np.binary_repr(235,8))
Output:
It shifts the bits in the binary representation of the operand to the left by the specified position. An equal number of 0s are appended from the right. Consider the following example.
import numpy as np print("left shift of 20 by 3 bits",np.left_shift(20, 3)) print("Binary representation of 20 in 8 bits",np.binary_repr(20, 8)) print("Binary representation of 160 in 8 bits",np.binary_repr(160,8))
Output:
It shifts the bits in the binary representation of the operand to the right by the specified position. An equal number of 0s are appended from the left. Consider the following example.
import numpy as np print("left shift of 20 by 3 bits",np.right_shift(20, 3)) print("Binary representation of 20 in 8 bits",np.binary_repr(20, 8)) print("Binary representation of 160 in 8 bits",np.binary_repr(160,8))
Output: