joseiedo
Bit Manipulation
Overview

Bit Manipulation

January 16, 2026
1 min read

Check Power of Two

public boolean isPowerOfTwo(int num) {
return (num & (num - 1)) == 0;
}

Clear Kth Bit

public int clearKthBit(int num, int k) {
return num & ~(1 << k);
}

Count Set Bits

public int countSetBits(int num) {
int count = 0;
while (num > 0) {
count += num & 1;
num >>= 1;
}
return count;
}

Divide by Power of Two

public int divideByPowerOfTwo(int num, int k) {
return num >> k;
}

Get Rightmost Set Bit

public int getRightmostSetBit(int num) {
return num & -num;
}

Multiply by Power of Two

public int multiplyByPowerOfTwo(int num, int k) {
return num << k;
}

Set Kth Bit

public int setKthBit(int num, int k) {
return num | (1 << k);
}

Swap Variables

public int[] swapVariables(int num1, int num2) {
num1 ^= num2;
num2 ^= num1;
num1 ^= num2;
return new int[] { num1, num2 };
}

Test Kth Bit

public boolean testKthBit(int num, int k) {
return (num & (1 << k)) != 0;
}

Toggle Kth Bit

public int toggleKthBit(int num, int k) {
return num ^ (1 << k);
}