Побитовый эксклюзивный оператор OR: ^

Синтаксис

выражение выражения^

Замечания

Побитовый эксклюзивный оператор 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++, приоритет и ассоциативность