Check if i-th bit is set using shift operators.
bool isBitSet(int n, int i) {
return (n & (1 << i)) != 0;
//OR
return (n >> i) & 1;
}
Set i-th bit to 1 using OR operator.
int setBit(int n, int i) {
return n | (1 << i);
}
Clear i-th bit using AND operator.
int clearBit(int n, int i) {
return n & ~(1 << i);
}
Toggle i-th bit using XOR operator.
int toggleBit(int n, int i) {
return n ^ (1 << i);
}
Remove rightmost set bit using AND operator.
int removeLastSetBit(int n) {
return n & (n - 1);
}
bool isPowerOfTwo(int n) {
return (n > 0) && ((n & (n - 1)) == 0);
}