我的程序有什麼問題?檢查整數是否是C中的兩個冪#
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
bool check = isPowerOfTwo(255);
Console.WriteLine(check);
Console.ReadKey();
}
public bool isPowerOfTwo (uint x)
{
while (((x % 2) == 0) && x > 1)
{
x /= 2;
}
return (x == 1);
}
}
}
我得到錯誤
一個對象引用是所必需的非靜態字段,方法或屬性。
可能值得注意的是算法本身可以改進。你應該可以使用:'return x!= 0 &&((x-1)&x)== 0' – Iridium