0
0
CppConceptBeginner · 4 min read

What is Bitwise Operator in C++: Explanation and Examples

In C++, a bitwise operator works directly on the binary digits (bits) of integers. It performs operations like AND, OR, XOR, NOT, and bit shifts on each bit individually to manipulate data efficiently at the bit level.
⚙️

How It Works

Bitwise operators treat numbers as a series of 0s and 1s, called bits, rather than whole numbers. Imagine each number as a row of light switches, where each switch can be ON (1) or OFF (0). Bitwise operators flip, combine, or shift these switches to produce a new pattern.

For example, the AND operator compares two rows of switches and turns ON a switch only if both are ON. The OR operator turns ON a switch if at least one is ON. This lets you control or check specific bits inside a number, which is faster and uses less memory than working with whole numbers.

💻

Example

This example shows how to use bitwise AND, OR, XOR, NOT, and left shift operators in C++.

cpp
#include <iostream>
using namespace std;

int main() {
    unsigned int a = 5;  // binary: 0101
    unsigned int b = 9;  // binary: 1001

    cout << "a & b = " << (a & b) << endl;  // AND
    cout << "a | b = " << (a | b) << endl;  // OR
    cout << "a ^ b = " << (a ^ b) << endl;  // XOR
    cout << "~a = " << (~a) << endl;        // NOT
    cout << "b << 1 = " << (b << 1) << endl; // Left shift

    return 0;
}
Output
a & b = 1 a | b = 13 a ^ b = 12 ~a = 4294967290 b << 1 = 18
🎯

When to Use

Bitwise operators are useful when you need to work with data at the smallest level, such as:

  • Setting, clearing, or toggling specific bits in flags or settings.
  • Performing fast arithmetic or logical operations in low-level programming.
  • Optimizing memory usage by packing multiple values into a single integer.
  • Working with hardware, device drivers, or network protocols where data is bit-packed.

They are common in embedded systems, game development, and performance-critical code.

Key Points

  • Bitwise operators work on individual bits of integer values.
  • They include AND (&), OR (|), XOR (^), NOT (~), and shifts (<<, >>).
  • They are faster and use less memory than normal arithmetic for certain tasks.
  • Commonly used in low-level programming and performance optimization.

Key Takeaways

Bitwise operators manipulate numbers at the binary bit level for efficient control.
They include AND, OR, XOR, NOT, and bit shifts to combine or change bits.
Use them to handle flags, optimize memory, and work with hardware data.
Bitwise operations are faster than normal arithmetic for specific tasks.