if (num == 0) { return 1; } int bitCount = (int) Math.floor((int)(Math.log(num) / Math.log(2))) + 1; int allBitsSet = (1 << bitCount) - 1; return num ^ allBitsSet;
if (num == 0) { return 1; } int bitCount = (int) Math.floor((int)(Math.log(num) / Math.log(2))) + 1; int allBitsSet = (1 << bitCount) - 1; return num ^ allBitsSet;