Given an integer, write a function to determine if it is a power of two.
分析:当数为2的指数值时,其二进制可以表示为10000...。将n逐位向右移,统计二进制中1的个数,若只包含1个1,则为2的幂,否者不是。
class Solution {
public:
bool isPowerOfTwo(int n) {
if(n<1){
return false;
}
int cnt=0;
while(n){
cnt+=n&0x01;
n>>=1;
}
if(cnt!=1){
return false;
}
return true;
}
};