Given an integer, write a function to determine if it is a power of two.class Solution {public: bool isPowerOfTwo(double n) { int k = 1; if (n <= 0) { return 0; } if(n == 1) return 1; while ((n / pow(2.0, k)) >= 1) { if ((n / pow(2.0, k) == 1)) return 1; k++; } return 0; }};class Solution {public: bool isPowerOfTwo(int n) { return (n>0) && (!(n&(n-1))); }};bool isPowerOfTwo(int n) { int count = 0; while (n > 0) { count+=(n&0x01); n>>=1; } return count==1;}原文:http://www.cnblogs.com/dylqt/p/5587394.html