//判断一个数是否为2的整数次幂
//思路:利用了二进制的位运算。
//2的整数次幂的数的特点为10,100,1000,10000等等。
//2的整数次幂减1之后的二进制特点为1,11,111,1111等等。
//所以这两个数的与运算(&)结果即为 0
//即 n&(n-1)=0
//时间复杂度为O(1)
public class PowerOfTwo {
public static boolean isPowerOfTwo(int n) {
return (n&n-1)==0;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(isPowerOfTwo(32));
System.out.println(isPowerOfTwo(200));
System.out.println(isPowerOfTwo(1024));
}
}