题目
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。
示例
示例 1:
输入: 16
输出: true
示例 2:
输入: 5
输出: false
class Solution {
public:
bool isPowerOfFour(int num) {
if (num <= 0) return false;
if (num & (num - 1)) return false; // 先判断是否是 2 的 N 次方
if (num & 0x55555555) return true; // 再将不是 4 的 N 次方的数字去掉
return false;
}
};