二进制AND和两个错误值导致true

时间:2016-02-09 03:04:57

标签: c++ c binary bit

非常简单的问题,假设我必须使用C ++中的值和AND它们

0101& 0110 = 0100

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

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

感谢。

1 个答案:

答案 0 :(得分:3)

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

在c ++中:

~(a^b);

或者作为真相表:

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