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