Arduino 中按位异或


就像其他按位运算符一样,按位异或也单独对相应位进行运算。

运算符是 ^,语法为:

a ^ b

其中 a 和 b 是要进行异或运算的两个数。

下面给出异或的真值表 −

PQP^Q
000
011
101
110

正如你所见,异或运算符仅在两个位不同时返回 1。

如果你执行 10 ^ 3,将在位级别发生以下计算(假设你的电路板使用 16 位表示整数):

0000000000001010
10
0000000000000011
3
0000000000001001
10 ^ 3 = 9

示例

让我们在串行监视器上验证这一点。下面给出代码 −

void setup() {
   // put your setup code here, to run once:
   Serial.begin(9600);
   Serial.println();

   int a = 10;
   int b = 3;
   Serial.println(a ^ b);
}

void loop() {
   // put your main code here, to run repeatedly:
}

输出

串行监视器输出如下 −

正如你所见,输出完全符合预期。

更新日期:31-May-2021

2K+ 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告