Operador AND bit a bit: &
expression & expression
Comentários
As expressões podem ser outras expressões E, ou (sujeito às restrições de tipo mencionadas abaixo) expressões de igualdade, expressões relacionais, expressões aditivas, expressões multiplicativas, expressões de ponteiro para membro, expressões de conversão, expressões unárias, expressões pós-fixadas ou expressões primárias.
O operador E bit a bit (&) compara cada bit do primeiro operando com o bit correspondente do segundo operando. Se os dois bits forem 1, o bit de resultado correspondente será definido como 1. Caso contrário, o bit de resultado correspondente será definido como 0.
Os dois operandos do operador AND bit a bit devem ser de tipos integrais. As conversões aritméticas usuais abordadas em Conversões aritméticas são aplicadas aos operandos.
Palavra-chave de operador para &
O operador bitand é o equivalente de texto a &. Há duas maneiras de acessar o operador bitand nos programas: incluindo o arquivo de cabeçalho iso646.h ou compilando com a opção de compilador /Za (Desabilitar extensões de linguagem).
Exemplo
// expre_Bitwise_AND_Operator.cpp
// compile with: /EHsc
// Demonstrate bitwise AND
#include <iostream>
using namespace std;
int main() {
unsigned short a = 0xFFFF; // pattern 1111 ...
unsigned short b = 0xAAAA; // pattern 1010 ...
cout << hex << ( a & b ) << endl; // prints "aaaa", pattern 1010 ...
}