转自http://blog.youkuaiyun.com/qq_26768741/article/details/50917787
今天我来分享一个判断一个数是否是2的n次方巧妙方法:
代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
在这里面,我们使用了num&(num-1)的运算。
当我们演算下会发现一个规律。
、
在这里我么你就会发现对于一个数,n&(n-1)会一直等于0。
所以我们可以将这个方法来判断一个数是不是2的n次方。
本文介绍了一种判断一个整数是否为2的幂的方法。通过使用位运算符,可以高效地确定输入的整数是否能表示为2的某次幂。此方法基于观察到的规律:若一个数为2的幂,则它与减一后的数进行按位与运算的结果为0。
730

被折叠的 条评论
为什么被折叠?



