这只是一个感兴趣的问题 - 我不确定它实际上是如何适用的。无论如何 - 是否可以使用位检查来查看数字是否等于1?
答案 0 :(得分:5)
我不确定问题究竟是什么,但您可以使用!(x ^ 1)
或x == 1
或!(x-1)
或(x & 1) && !(x & ~1)
或其他许多方式之一。
答案 1 :(得分:1)
我认为如果(1 ==数字)就足够了。在内部进行逐位比较。
答案 2 :(得分:0)
我不太了解比特检查。如果您的意思是逐个检查位,您可以在循环中执行该操作。或者你可以使用代码:
int equalsOne(int a) {
return (a && (a == !!a));
}
!
运算符将返回0
非零值1
。 return语句中的前导a
消除了a == 0
。