# Python Bitwise Operators

March 31, 2019

Bitwise operators are used with integers. Bitwise operators supported by Python are OR, XOR, AND, Left-shift, Right-shift and ones Complement. Find the detail.
Operator Name | Operations | Result |
---|---|---|

Bitwise OR (|) | x | y | bitwise or of x and y |

Bitwise XOR (^) | x ^ y | bitwise exclusive or of x and y |

Bitwise AND (&) | x & y | bitwise and of x and y |

Bitwise Left-shift (<<) | x << n | x shifted left by n bits |

Bitwise Right-shift (>>) | x >> n | x shifted right by n bits |

Bitwise ones Complement (~) | ~x | the bits of x inverted |

For the demo we are using Python 3.7.0 in our example. Now find the Python bitwise operators in detail.

##### Contents

## 1. Bitwise OR (|)

A bitwise OR (|) takes two equal-length binary representations and performs the logical OR operation on each pair of the corresponding bits. The result in each position is 0 if both bits are 0, while otherwise the result is 1.| Operator | Result |
---|---|

1 | 1 | 1 |

1 | 0 | 1 |

0 | 1 | 1 |

0 | 0 | 0 |

>>> 3 | 5 7 >>> bin(3) '0b11' >>> bin(5) '0b101' >>> bin(7) '0b111' >>> >>> 6 | 4 6 >>> bin(6) '0b110' >>> bin(4) '0b100' >>>

## 2. Bitwise XOR (^)

A bitwise XOR (^) takes two equal-length binary representations and performs the logical exclusive OR operation on each pair of the corresponding bits. The result in each position is 1 if only the first bit is 1 or only the second bit is 1, but will be 0 if both are 0 or both are 1.^ Operator | Result |
---|---|

1 ^ 1 | 0 |

1 ^ 0 | 1 |

0 ^ 1 | 1 |

0 ^ 0 | 0 |

>>> 4 ^ 2 6 >>> bin(4) '0b100' >>> bin(2) '0b10' >>> bin(6) '0b110' >>> >>> 7 ^ 8 15 >>> bin(7) '0b111' >>> bin(8) '0b1000' >>> bin(15) '0b1111' >>>

## 3. Bitwise AND (&)

A bitwise AND (&) operator takes two equal-length binary representations and performs the logical AND operation on each pair of the corresponding bits. The result is equivalent to multiplying them.& Operator | Result |
---|---|

1 & 1 | 1 |

1 & 0 | 0 |

0 & 1 | 0 |

0 & 0 | 0 |

>>> 5 & 9 1 >>> bin(5) '0b101' >>> bin(9) '0b1001' >>> bin(1) '0b1' >>> >>> 7 & 3 3 >>> bin(7) '0b111' >>> bin(3) '0b11' >>>

## 4. Bitwise Left-shift (<<)

Bitwise Left-shift (<<) operator shifts the bits left by given number.`x << n`

returns x with the bits shifted to the left by n places (and new bits on the right-hand-side are zeros). This is the same as multiplying x by `pow(2, n)`

.
Find the example.

>>> 5 << 2 20 >>> bin(5) '0b101' >>> bin(20) '0b10100' >>> >>> 12 << 6 768 >>> bin(12) '0b1100' >>> bin(768) '0b1100000000' >>>

## 5. Bitwise Right-shift (>>)

Bitwise Right-shift (>>) operator shifts the bits right by given number.`x >> n`

returns x with the bits shifted to the right by n places. This is the same as dividing x by pow(2, n).
Find the example.

>>> 4 >> 2 1 >>> bin(4) '0b100' >>> bin(2) '0b10' >>> bin(1) '0b1' >>> >>> 13 >> 2 3 >>> bin(13) '0b1101' >>> bin(2) '0b10' >>> bin(3) '0b11' >>>

## 6. Bitwise ones Complement (~)

`~x`

returns the complement of x - the number you get by switching each 1 for a 0 and each 0 for a 1. This is the same as -x - 1.
Find the example.

>>> 13 >> 2 3 >>> bin(13) '0b1101' >>> bin(2) '0b10' >>> bin(3) '0b11' >>>

### References

Bitwise Operations on Integer TypesPython Bitwise Operators

Bitwise operation