给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。
示例 1:
输入: 16
输出: true
示例 2:输入: 5
输出: false
方法一:
class Solution {
public:
bool isPowerOfFour(int num)
{
// 0x55555555 二进制 1010101010101010101010101010101
return((num > 0 && (num & (num-1)) == 0) && (num & 0x55555555)); // 8个5
}
};
本文介绍了一种高效的方法,用于判断一个32位有符号整数是否可以表示为4的幂次方。通过使用位运算,我们能够快速地确定输入数值是否符合要求,提供了一个C++实现的示例。
286

被折叠的 条评论
为什么被折叠?



