解题思路:
是2的幂 n&(n-1)==0
不是2的幂 n&(n-1) !=0
代码:
public static boolean isPowerOfTwo(int n) {
if (n > 0) {
return (n & (n - 1)) == 0;
}
return false;
}
public static boolean isPowerOfTwo2(int n) {
if(n==0){
return false;
}
while(n%2==0){
n=n/2;
}
return n==1;
}
public static void main(String[] args) {
boolean powerOfTwo = isPowerOfTwo2(1);
System.out.println(powerOfTwo);
}