← Bit Manipulation

Power of Two Bits

Easy
Python
def is_power_of_two(n):
    return n>0 and (n&(n-1))==0
Java
public boolean isPowerOfTwo(int n){
    return n>0&&(n&(n-1))==0;
}

Key Insight

Nearly identical. and vs &&.

Python → Java Differences

  • Bit trick identical
  • 'and' vs '&&'
  • Nearly identical
Python
def is_power_of_two(n):
    return n>0 and (n&(n-1))==0
Java
public boolean isPowerOfTwo(int n){
    return n>0&&(n&(n-1))==0;
}

Algorithm Steps

1. Positive and one bit set