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

本文关键字:操作符 性能 最大化 我应该 掩码 布尔 是什么 | 更新日期: 2023-09-27 18:05:28

我想知道布尔运算符和'或操作,导致以下逻辑表。左边的值是输入,右边的值是输出。

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

我试了11和and运算符。它产生以下逻辑表:

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

我尝试了11和OR操作符。它产生以下逻辑表:

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

我应该使用哪个布尔运算符和'或布尔运算符来产生期望的结果,是否有任何方法可以最大化性能?我使用的是标准的x64英特尔芯片组和。net 4.5.2。

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

您正在寻找异运算符:

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

操作符:^称为异或

文档在这里