Python – Bitwise Operators

Introduction to Bitwise Operators in Python

In Python, bitwise operators are used to perform operations on individual bits of integers. These operators work at the binary level, manipulating the bits of the operands. Bitwise operators are useful in scenarios where you need to perform low-level operations, such as data encryption, compression, or device driver programming.

Types of Bitwise Operators in Python

Python provides the following bitwise operators:

  • AND (&) Operator: This operator performs a bitwise AND operation on the corresponding bits of two integers. It returns a new integer with bits set only if both input bits are set.
  • OR (|) Operator: The OR operator performs a bitwise OR operation on the corresponding bits of two integers. It returns a new integer with bits set if either of the input bits is set.
  • XOR (^) Operator: The XOR operator performs a bitwise XOR (exclusive OR) operation on the corresponding bits of two integers. It returns a new integer with bits set if the input bits are different.
  • NOT (~) Operator: The NOT operator performs a bitwise NOT operation on an integer. It flips all the bits, resulting in the one’s complement of the number.
  • Left Shift (<<) Operator: The left shift operator shifts the bits of the left operand to the left by the number of positions specified by the right operand.
  • Right Shift (>>) Operator: The right shift operator shifts the bits of the left operand to the right by the number of positions specified by the right operand.

Examples of Bitwise Operators in Python

Let’s explore some examples to understand how these bitwise operators work:

AND (&) Operator:

The AND operator compares the corresponding bits of two integers and returns a new integer with bits set only if both input bits are set:

a = 5  # Binary: 0101
b = 3  # Binary: 0011

result = a & b  # Binary: 0001

OR (|) Operator:

The OR operator compares the corresponding bits of two integers and returns a new integer with bits set if either of the input bits is set:

a = 5  # Binary: 0101
b = 3  # Binary: 0011

result = a | b  # Binary: 0111

XOR (^) Operator:

The XOR operator compares the corresponding bits of two integers and returns a new integer with bits set if the input bits are different:

a = 5  # Binary: 0101
b = 3  # Binary: 0011

result = a ^ b  # Binary: 0110

NOT (~) Operator:

The NOT operator flips all the bits of an integer, resulting in the one’s complement of the number:

a = 5  # Binary: 0101

result = ~a  # Binary: 1010

Left Shift (<<) Operator:

The left shift operator shifts the bits of the left operand to the left by the number of positions specified by the right operand:

a = 5  # Binary: 0101

result = a << 2  # Binary: 010100 (Decimal: 20)

Right Shift (>>) Operator:

The right shift operator shifts the bits of the left operand to the right by the number of positions specified by the right operand:

a = 5  # Binary: 0101

result = a >> 1  # Binary: 0010 (Decimal: 2)

Conclusion

Bitwise operators in Python are powerful tools for manipulating individual bits of integers. They are commonly used in scenarios where low-level bit-level operations are required. Understanding how these operators work and being able to use them effectively can enhance your programming skills and enable you to solve a wide range of problems.

Remember to use bitwise operators judiciously and ensure that they are appropriate for the task at hand. With practice and experimentation, you’ll become proficient in utilizing these operators to their full potential.

Scroll to Top