xor bit a bit

De ArduWiki
Revisión del 19:56 25 jun 2018 de Kike GL (Discusión | contribuciones) (Advertencias)

Saltar a: navegación, buscar

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 xor bit a bit ^, con el operador boleano xor 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);
}

Vea también

Referencias