/**
* 判断一个数是否为2的整数次幂
* 思路:
* 如果是一个整数是2的整数次幂,那么当它转成二进制时,只有最高位是1,其他位都是0
* 2的整数次幂一旦减1,它的二进制数字就全部变成了1
* 所以如果采用原数(2的整数次幂)和它减1的结果进行按位与运算,也就是 n&n-1 = 0
*/
public class PowerOf2 {
public static boolean isPowerOf2(int num){
return (num & (num - 1)) == 0;
}
public static void main(String[] args) {
System.out.println(isPowerOf2(8));
System.out.println(isPowerOf2(6));
}
}