Arduino - Operadores Bitwise

Suponha que a variável A tenha 60 e a variável B tenha 13, então -

Nome do operador Operador simples Descrição Exemplo
e E O operador binário AND copia um bit para o resultado se ele existir em ambos os operandos. (A e B) dará 12, que é 0000 1100
ou | O operador binário OR copia um bit se existir em qualquer operando (A | B) dará 61, que é 0011 1101
xor ^ O operador binário XOR copia o bit se estiver definido em um operando, mas não em ambos. (A ^ B) dará 49, que é 0011 0001
não ~ O operador de complemento binários é unário e tem o efeito de 'inverter' bits. (~ A) dará -60 que é 1100 0011
deslocar para a esquerda << Operador binário de deslocamento à esquerda. O valor dos operandos à esquerda é movido para a esquerda pelo número de bits especificado pelo operando à direita. Um << 2 dará 240, que é 1111 0000
mudar para a direita >> Operador binário de deslocamento à direita. O valor dos operandos à esquerda é movido para a direita pelo número de bits especificado pelo operando à direita. Um >> 2 dará 15, que é 0000 1111

Exemplo

void loop () {
   int a = 10,b = 20
   int c = 0;
   c = a & b ;
   c = a | b ;
   c = a ^ b ;
   c = a ~ b ;
   c = a << b ;
   c = a >> b ; 
}

Resultado

c = 12
c = 61
c = 49
c = -60
c = 240
c = 15