这个布尔掩码的名称是什么,我应该使用哪些 C# 运算符来最大化性能?

what is name of this boolean mask, and which c# operators should I use to maximize performance?

我想知道导致以下逻辑 table 的布尔运算符 and\or 运算。左边的值是输入,右边的值是输出。

00 => false
01 => true
10 => true
11 => false

我尝试了 11 和 AND 运算符。它导致以下逻辑 table:

00 AND 11 = false
01 AND 11 = false
10 AND 11 = false
11 AND 11 = true

我试过 11 和 OR 运算符。它导致以下逻辑 table:

00 OR 11 = true
01 OR 11 = true
10 OR 11 = true
11 OR 11 = true

我应该使用哪个布尔运算符 and\or 布尔运算来产生所需的结果,还有,有什么方法可以最大限度地提高性能吗?我使用的是标准 x64 Intel 芯片组和 .Net 4.5.2。

您正在寻找 xor operator:

bool result = a ^ b;

所以完整的代码是:

bool a = (input & 1) == 1;
bool b = (input & 2) == 2;

bool result = a ^ b;

这是异或(XOR)

查看: https://en.wikipedia.org/wiki/Exclusive_or

运算符:^ 调用了 XOR

documentation is here