Bitwise operators
Bitwise operators work with the binary numbers (bits) of integer values. They operate bit by bit, hence they are called bitwise operator. Here is the list of bitwise operators.
Operator |
Meaning |
Example |
& |
Bitwise AND |
x & y |
| |
Bitwise OR |
x | y |
~ |
Bitwise NOT |
~x |
^ |
Bitwise XOR |
x ^ y |
>> |
Bitwise right shift |
x >> 2 |
<< |
Bitwise left shift |
x << 2 |
Bitwise AND
If both the bits are 1 output is 1. Here is the truth table for bitwise
Operand1 |
Operand2 |
Resultant bit |
0 |
0 |
0 & 0 = 0 |
0 |
1 |
0 & 1 = 0 |
1 |
0 |
1 & 0 = 0 |
1 |
1 |
1 & 1 = 1 |
Example : Bitwise AND in Python
print( 2 & 6)
#output 2
Explanation:
0 0 0 0 0 0 0 1 0 (2)
0 0 0 0 0 0 1 1 0 (6)
---------------------
0 0 0 0 0 0 0 1 0 (2)
A bitwise operator is performed on each bit of the operands. Here each bit of an operand1 is ANDED with a bit of another operand
Bitwise OR
If both the bits are 1 output is 1. Here is the truth table for bitwise
Operand1 |
Operand2 |
Resultant bit |
0 |
0 |
0 | 0 = 0 |
0 |
1 |
0 | 1 = 1 |
1 |
0 |
1 | 0 = 1 |
1 |
1 |
1 | 1 = 1 |
Example : Bitwise OR in Python
print( 2 | 6)
#output 3
Explanation:
0 0 0 0 0 0 0 1 0 (2)
0 0 0 0 0 0 1 1 0 (6)
---------------------
0 0 0 0 0 0 1 1 0 (3)
A bitwise operator is performed on each bit of the operands. Here each bit of an operand1 is ANDED with a bit of another operand
Bitwise Not(~)
If both the bits are 1 output is 1. Here is the truth table for bitwise
Operand1 |
Resultant bit |
0 |
~ 0 = 1 |
1 |
~1 = 0 |
Example : Bitwise NOT in Python
print( ~ 2)
#output -3
Explanation:
0 0 0 0 0 0 0 1 0 (2)
---------------------
1 1 1 1 1 1 1 0 1 (-3)
A bitwise operator is performed on each bit of the operands. Here each bit is reversed for example 0 is converted to 1 and vice-versa. The number is negative since the sign bit( the left most bit is called a sign bit) is 1.
Bitwise XOR
If both the bits are same output is 0 otherwise 1. Here is the truth table for bitwise
Operand1 |
Operand2 |
Resultant bit |
0 |
0 |
0 | 0 = 0 |
0 |
1 |
0 | 1 = 1 |
1 |
0 |
1 | 0 = 1 |
1 |
1 |
1 | 1 = 0 |
Example : Bitwise XOR in Python
print( 2 ^ 6)
#output 4
Explanation:
0 0 0 0 0 0 0 1 0 (2)
0 0 0 0 0 0 1 1 0 (6)
---------------------
0 0 0 0 0 0 1 0 0 ( 4) :: 1 ^ 1 = 0, 0 ^ 1 = 1, 0 ^ 0 = 0
A bitwise operator is performed on each bit of the operands. Here each bit of an operand1 is ANDED with a bit of another operand.
Bitwise Rightshift
The right side bits are removed of the left operand for the given number of times. For example
print(4 >> 1)
#output 2
Explanation:
0000 0100 (4) # Remove bit form right 1 time
0000 0010 (2)
The rightmost bit is removed new number is become 0000 0010 that is 2.
Bitwise Left shift
The left side bits moved towards the left of the left operand for the given number of times.For example
print(4 << 1) #Move bit to left 1 time
#output 8
Explanation:
0000 0100 (4)
0000 1000 (8)
The left side bit is moved towards the left, hence the new number is become 0000 1000 that is 8.