1、题目描述
输入n,判断它是不是2的power。
2、思路
如果是2的次方,那么它的2进制表示应该是1,后面跟着很多0.
用取出最后面1位1的方法,即n&(n-1),
如果n&(n-1)等于0,则说明它是2的次方。
否则不是。
3、代码
bool isPowerOfTwo(int n) {
if(n<=0) return false;
return !(n&(n-1));
}
1、题目描述
输入n,判断它是不是2的power。
2、思路
如果是2的次方,那么它的2进制表示应该是1,后面跟着很多0.
用取出最后面1位1的方法,即n&(n-1),
如果n&(n-1)等于0,则说明它是2的次方。
否则不是。
3、代码
bool isPowerOfTwo(int n) {
if(n<=0) return false;
return !(n&(n-1));
}