Given an integer (signed 32 bits), write a function to check whether it is a power of 4.
Example:
Given num = 16, return true.Given num = 5, return false.
判断一个整数是否是4的整数幂.
算法:如果底数是2,一般直接移位判断即可,当然也可以用数值方法.
代码:
bool isPowerOfFour(int num) {
if (num <= 0) return false;
if (num == 1) return true;
if (num & 3) return false;
num >>= 2;
while(num > 3) {
if (num & 3) return false;
num >>= 2;
}
if (num == 1) return true;
return false;
}