判断一个数是否是2的整数次幂
一个数如果是2的整数幂,那么它的2进制表示里面肯定只有一个1, 并且是最高位,当然不考虑负数。
bool isPower(int n){
if(n<=1)
return false;
if((n&(n-1))==0)
return true;
return false;//return ((n&(n-1))==0);注意括号
}
void main()
{
bool a=isPower(2);
if(isPower(2))
cout<<"yes"<<endl;
system("pause");
}