Diferencia entre revisiones de «xor bit a bit»

De ArduWiki
Saltar a: navegación, buscar
(Retorna)
Línea 20: Línea 20:
  
 
== Retorna ==
 
== Retorna ==
Verdadero o falso.
+
Nada.
  
 
== Advertencias ==
 
== Advertencias ==

Revisión del 19:54 25 jun 2018

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);
}

Vea también

Referencias