具有两个假值的二进制 AND 结果为真

Binary AND with two false values resulting with true

非常简单的问题,假设我必须在 C++ 中取值并与它们

0101 & 0110 = 0100

我希望输出与每个值 IE 上的布尔值相等相同:1100

这需要尽可能快,因为这是性能应用程序的低级进程。我刚刚开始使用位操作,所以这可能很简单。

谢谢。

基本上你想要一个 NOT(XOR(A,B))

在 C++ 中:

~(a^b);

或如实-table:

a | b | a^b | ~(a^b)
1 | 1 |  0  |    1
1 | 0 |  1  |    0
0 | 1 |  1  |    0
0 | 0 |  0  |    1