bit-manipulation - 是否可以仅使用按位运算符来测试数字是否为偶数或 '1' ?

标签 bit-manipulation bitwise-operators

是否可以仅使用按位运算符来实现,即无需逻辑/比较/关系运算符?

这基本上等同于以下内容。

(a & 1 == 0) || (a == 1)

我承认在许多语言中可能需要进行最终的相等比较才能将结果转换为真/假值,但我没有在问题中考虑这一点。 接受输入位数组并为偶数返回与“1”相同的输出位数组的答案本质上就是我所追求的。要么是这个,要么是不可能的原因。

最佳答案

((a & 1) == 0) | (a == 1) 有效。无需做任何复杂的技巧

关于bit-manipulation - 是否可以仅使用按位运算符来测试数字是否为偶数或 '1' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60322490/

相关文章:

java - 在java中设置字节值

c++ - 饱和减法/加法无符号字节

c - 下面的代码在 C 语言中是如何计算的?

c# - 我(认为)我想使用 BItWise 运算符来检查 useraccountcontrol 属性!

algorithm - 与最大值 AND 值配对

python-3.x - 是否有用于标志/位掩码操作的 Python 类/枚举?

javascript - 按位运算如何提高 Asm.js 的性能?

c - C中的算术右移

c++ - 从 8 位字节中提取二进制数据并将其转换为原始类型 [C++]

c - 16 位非负数的右旋?