Given an integer, write a function to determine if it is a power of two.
判断一个数是否是2的幂,判断方法主要依据2的N次幂的特点:仅有首位为1,,其余各位都为0.
方法1: n & n-1 == 0class Solution {public:bool isPowerOfTwo(int n) {return (n>0) && (!(n&(n-1)));}};
方法2: 判断n的二进制中1的个数
bool isPowerOfTwo(int n) {int count = 0;while (n > 0){count+=(n&0x01);n>>=1;}return count==1;}
版权声明:本文为博主原创文章,未经博主允许不得转载。
只要你扬帆,便会有八面来风。启程了,人的生命才真正开始。