0

这只是一个有趣的问题——我不确定它实际上是如何适用的。无论如何 - 是否可以使用位检查来查看数字是否等于 1?

4

3 回答 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 回答