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