题目描述:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
代码如下:
public bool IsPowerOfTwo1(int n)
{
return n > 0 && (n & (n - 1)) == 0;
}
public bool IsPowerOfTwo2(int n)
{
return n % 2 == 0 ? n == 0 ? false : IsPowerOfTwo(n / 2) : n == 1;
}
public bool IsPowerOfTwo3(int n)
{
if (n <= 0)
return false;
while(true)
{
if (n == 1)
return true;
if (n % 2 != 0)
return false;
n /= 2;
}
}
本文介绍三种判断一个整数是否为2的幂次方的方法,并提供了具体的实现代码。这些方法利用位运算和递归等技巧高效地完成判断。
422

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



