xqn2017

导航

231. Power of Two

原文题目:

231. Power of Two

/*
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();
	
}

  

posted on 2017-12-18 20:07  xqn2017  阅读(115)  评论(0)    收藏  举报