【发布时间】:2013-10-13 20:30:19
【问题描述】:
我是 C 语言编程的新手,正在编写程序来确定一个数字是否是 2 的幂。但是作为运算符'!'得到错误不能应用于 int 类型的操作数。认为相同的程序在 C++ 中运行良好。代码如下:
public static void Main(String[] args)
{
int x;
Console.WriteLine("Enter the number: ");
x = Convert.ToInt32(Console.ReadLine());
if((x != 0) && (!(x & (x - 1))))
Console.WriteLine("The given number "+x+" is a power of 2");
}
【问题讨论】:
-
只需从这个 (!(x & (x - 1))) 到这个 ((x & (x - 1))) 中删除否定运算符,它就会起作用并为您提供所需的结果.
标签: c# operators boolean-logic