按位异或运算符:^

语法

expression^expression

备注

按位异或运算符 (^) 将其第一操作数的每个位与其第二操作数的相应位进行比较。 如果其中一个操作数中的位为 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++ 内置运算符、优先级和关联性