Побитовый оператор AND: &

Синтаксис

and-expression:
equality-expression
and-expression & equality-expression

Замечания

Побитовый оператор AND (&) сравнивает каждый бит первого операнда с соответствующим битом второго операнда. Если оба бита равны 1, соответствующий бит результата равен 1. В противном случае соответствующий бит результата равен 0.

Оба операнда для побитового оператора AND должны иметь целые типы. Обычные арифметические преобразования, описанные в стандартных преобразованиях , применяются к операндам.

Оператор ключевое слово для&

C++ указывает bitand в качестве альтернативной орфографии для &. В C альтернативная орфография предоставляется в виде макроса в заголовке <iso646.h> . В C++альтернативная орфография является ключевое слово; <использование iso646.h> или эквивалентное <C++ ciso646> не рекомендуется. В Microsoft C++ /permissive- параметр или /Za компилятор требуется для включения альтернативной орфографии.

Пример

// expre_Bitwise_AND_Operator.cpp
// compile with: /EHsc
// Demonstrate bitwise AND
#include <iostream>
using namespace std;
int main() {
   unsigned short a = 0xCCCC;      // pattern 1100 ...
   unsigned short b = 0xAAAA;      // pattern 1010 ...

   cout  << hex << ( a & b ) << endl;   // prints "8888", pattern 1000 ...
}

См. также

Встроенные операторы C++, приоритет и ассоциативность
Побитовые операторы C