这只是一个有趣的问题——我不确定它实际上是如何适用的。无论如何 - 是否可以使用位检查来查看数字是否等于 1?
问问题
907 次
3 回答
5
我不确定问题到底是什么,但您可以使用!(x ^ 1)
或x == 1
或!(x-1)
或(x & 1) && !(x & ~1)
或许多其他方法之一。
于 2013-04-25T08:01:05.200 回答
1
我认为 if(1==number) 就足够了。在内部进行了一些明智的比较。
于 2013-04-25T08:09:20.597 回答
0
我不太了解位检查。如果您的意思是逐位检查,则可以循环执行。或者您可以使用以下代码:
int equalsOne(int a) {
return (a && (a == !!a));
}
运算符将!
返回0
非零值 else 1
。return 语句中的前导a
消除了 where 的情况a == 0
。
于 2013-04-25T08:03:38.360 回答