判断一个数是否为2的整数次幂

判断一个数是否为2的整数次幂
 
思路:
  所有2的整数次幂和它本身减1的结果相与,结果必定是0。反之则不一定是0。
  如下推理:
十进制
二进制1
原数-1
二进制2
n&(n-1)
是否为2的整数次幂
8
1000
7
111
0
16
10000
15
1111
0
32
100000
31
11111
0
35
100011
34
10010
10
 代码实现:
1 public boolean isPowerOf2 (int num){
2      return num & (num -1) == 0)
3 }

 

posted on 2019-09-08 18:26  自律的蚂蚁  阅读(657)  评论(0)    收藏  举报

导航