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+ 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.