原文题目:
/* 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(); }