xor bit a bit
De ArduWiki
Contenido
Descripción
Es un operador xor bit a bit ^ (or exclusivo) que permite unir dos variables bit a bit. Evalua cada bit de la primero variable respecto a la segunda variable.
a | b | a ^ b |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
Sintaxis
variable 1 ^ variable 2
Retorna
Nada.
Advertencias
- No confundir el operador boleano xor ^, con el operador xor bit a bit x.
Comentario
- Este operador se usa a menudo para invertir cada bites (es decir si cambio de 0 a 1, o de 1 a 0) algunos de los bits en una expresión entera.
- En una operación OR si hay un 1 en el bit de máscara, el bit se invierte; si hay un 0, el bit se mantiene igual.
Ejemplo 1
byte a = B1100;
byte b = B1010;
a ^ b; //0110
Ejemplo 2
Parpadea un LED en el pin digital 5.
void setup () {
Serial.begin (115200);
DDRD = DDRD | B00100000; //Configura el pin digital 5 como OUTPUT
}
void loop () {
PORTD = PORTD ^ B00100000; //Invertido el bit 5 (pin digital 5), deja los otros intactos
delay(500);
}