2的整数次幂转换成二进制是从第一个1开始,后面都是0, 2的整数次幂-1是从第一个1开始,后面的都是1,所以2的整数次幂和2的整数次幂-1进行位与运算得到的结果是0
代码实现
public class Power { public boolean isPowerOf2(int num) { return (num & num - 1) == 0; } }