算法:342、4的幂(2的幂)

一、“4的幂”题目描述:

看到这种问题,第一想法就是位操作

方法如下:

 上述代码中:n&(n - 1)能确保n的二进制数中只有一个1,且位置在正确的位置上;而n&0x55555555可以过滤掉2和8;

二、“2的幂”题目描述:

代码如下:

class Solution {
public:
    bool isPowerOfTwo(int n) {
        if(n <= 0)
            return false;
        return((n & (n - 1)) == 0);
    }
};

三、“3的幂”题目描述:

原文地址:https://www.cnblogs.com/zf-blog/p/9193751.html