Bit Manipulation Tricks

1. Swapping two numbers

a = a ^ b;
b = a ^ b; // = (a ^ b) ^ b = a
a = a ^ b; // = (a ^ b) ^ a = b
a = a ^ b;

2. Check if ith bit is set

bool result = (n & (1 << i)) == 1;

3. Set ith bit

n = n | (1 << i);

4. Clear ith bit

n = n & ~(1 << i);

5. Toggle ith bit

n = n ^ (1 << i);

6. Remove rightmost set bit

n = n & (n - 1);

7. Count number of set bits

while (n) {
    if (n & 1) count++;
    n = n >> 1;
}
Written on July 7, 2025