Bit Manipulation

Check if bit is set

bool isSet(int num, int posFromRight) {
    return num & (1 << (posFromRight - 1));
}

Set a bit

int set(int num, int posFromRight) {
    return num | (1 << (posFromRight - 1));
}

Multiply by 2^k

numร—2knum \times 2^k

int multiply(int num, int k) {
    return num << k; // num * 2 ^ k
}

Check if a number is odd or even

bool isEven(int num) {
    return (num & 1) ? true : false;
}

Last updated