引言:
判断一个数是否为2的整数次幂
2的整数幂
判断一个数是否为2的整数次幂
第一眼看完这个题,会想到的办法:
- 先判断奇偶,是奇数直接false
- 如果是偶数,就从2开始平方2,4,16,32,32*32…
但其实,我们如果知道巧妙的运用位运算:

代码只有一行,就可以搞定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
public class IntegralPowerOf2 {
public static boolean isIntegralPowerOf2(int num){ return (num & num-1) == 0; }
public static void main(String[] args) { System.out.println(isIntegralPowerOf2(1024)); System.out.println(isIntegralPowerOf2(65536)); System.out.println(isIntegralPowerOf2(60000)); } }
|