Arduino - Operadores bit a bit
Suponga que la variable A tiene 60 y la variable B tiene 13, entonces -
Nombre del operador | Operador simple | Descripción | Ejemplo |
---|---|---|---|
y | Y | El operador AND binario copia un bit al resultado si existe en ambos operandos. | (A & B) dará 12 que es 0000 1100 |
o | | | El operador OR binario copia un bit si existe en cualquier operando | (A | B) dará 61 que es 0011 1101 |
xor | ^ | El operador binario XOR copia el bit si está configurado en un operando pero no en ambos. | (A ^ B) dará 49 que es 0011 0001 |
no | ~ | El operador de complemento binario es unario y tiene el efecto de "voltear" bits. | (~ A) dará -60 que es 1100 0011 |
desplazarse a la izquierda | << | Operador binario de desplazamiento a la izquierda. El valor de los operandos de la izquierda se mueve a la izquierda el número de bits especificado por el operando de la derecha. | Un << 2 dará 240 que es 1111 0000 |
cambiar a la derecha | >> | Operador de cambio a la derecha binario. El valor de los operandos de la izquierda se mueve hacia la derecha el número de bits especificado por el operando de la derecha. | A >> 2 dará 15 que es 0000 1111 |
Ejemplo
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