位元互斥 OR 運算子:^

語法

expression^expression

備註

位元互斥 OR 運算子 (^) 會比較其第一個運算元的每個位元,以及其第二個運算元的對應位元。 如果其中一個運算元是 0,而另一個運算元是 1,則對應的結果位元會設定為 1。 否則,對應的結果位元會設為 0。

運算子的兩個運算元都必須有整數型別。 標準轉換中涵蓋的一般算術轉換適用於這些運算元。

如需 C++/CLI 和 C++/CX 中 ^ 字元替代使用方式的詳細資訊,請參閱物件運算子控制代碼 (^) (C++/CLI 和 C++/CX)。

^ 的運算子關鍵字

C++ 會指定 xor 作為 ^ 的替代拼字。 在 C 中,替代拼字會以 <iso646.h> 標頭中的巨集形式提供。 在 C++ 中,替代拼字是關鍵字; <iso646.h> 或 C++ 對等 <ciso646> 的使用已被取代。 在 Microsoft C++ 中,需要 /permissive-/Za 編譯器選項才能啟用替代拼字。

範例

// expre_Bitwise_Exclusive_OR_Operator.cpp
// compile with: /EHsc
// Demonstrate bitwise exclusive OR
#include <iostream>
using namespace std;
int main() {
   unsigned short a = 0x5555;      // pattern 0101 ...
   unsigned short b = 0xFFFF;      // pattern 1111 ...

   cout  << hex << ( a ^ b ) << endl;   // prints "aaaa" pattern 1010 ...
}

另請參閱

C++ 內建運算子、優先順序和順序關聯性