原文题目:
/*
1、负数和0是不成立的
2、2的次方的二进制特点是1,10,100,1000,10000,...其与自身减去1的位与都为0,也即1&(1-1)=0;10&(01)=0,100&(011)=0,...
3、根据这个特点可以筛选出目标n
*/
class Solution
{
public:
bool isPowerOfTwo(int n)
{
if (n <= 0)
{
return false;
}
if ((n&(n - 1)) == 0)
{
return true;
}
return false;
}
};
void main()
{
Solution s;
int data = 4;
cout << s.isPowerOfTwo(data) << endl;
getchar();
}