Visión general
La disyunción exclusiva, comúnmente llamada OR exclusivo o XOR, es una operación lógica básica que devuelve verdadero precisamente cuando una de sus entradas es verdadera y la otra es falsa. Se opone al or inclusivo ordinario, que permite que ambas entradas sean verdaderas. XOR se usa ampliamente en el álgebra booleana y en el diseño digital, y aparece en programación como operador a nivel de bits.
La operación suele escribirse con símbolos como ⊻ o ⊕. En la escritura formal puede describirse como una operación lógica binaria o una operación algebraica binaria sobre dos valores. Un mnemónico breve es: "uno u otro, pero no ambos".
Definición y tabla de verdad
XOR toma dos entradas y produce una sola salida. El resultado es verdadero exactamente cuando las entradas son distintas. A continuación, una tabla de verdad resumida:
- Entrada A = falso, Entrada B = falso -> Salida = falso
- Entrada A = falso, Entrada B = verdadero -> Salida = verdadero
- Entrada A = verdadero, Entrada B = falso -> Salida = verdadero
- Entrada A = verdadero, Entrada B = verdadero -> Salida = falso
Propiedades y formas algebraicas
Desde el punto de vista algebraico, XOR puede entenderse como una suma módulo 2: 1 XOR 1 = 0, 1 XOR 0 = 1, y así sucesivamente. Es conmutativa (A XOR B = B XOR A) y asociativa ((A XOR B) XOR C = A XOR (B XOR C)), lo que permite definir XOR de varias entradas. XOR es su propio inverso: aplicar el mismo valor dos veces lo anula (A XOR A = falso). Estas propiedades lo hacen útil para conmutación y esquemas de detección de errores.
Usos y ejemplos
XOR aparece en muchos contextos prácticos. En electrónica digital se implementa como una compuerta XOR para selección condicional y circuitos aritméticos. En lenguajes de programación suele existir como operador bit a bit que invierte los bits donde los operandos difieren. Las construcciones criptográficas y los cifrados de flujo sencillos usan XOR por su reversibilidad: datos XOR clave = cifrado, y cifrado XOR clave = datos. Los bits de paridad y los métodos de suma de verificación emplean XOR para detectar errores de un solo bit.
Distinciones y datos relevantes
La distinción clave está entre la disyunción exclusiva y la inclusiva; el OR inclusivo devuelve verdadero cuando una o ambas entradas son verdaderas, mientras que XOR exige exactamente una entrada verdadera. XOR también se diferencia de la implicación lógica y de la equivalencia: la equivalencia (XNOR) da verdadero cuando las entradas son iguales, el complemento lógico de XOR. Para ampliar sobre operaciones relacionadas, véanse las discusiones sobre la disyunción inclusiva y los conectivos booleanos.
Estas características convierten a XOR en un primitivo compacto y versátil en lógica, circuitos aritméticos y muchos algoritmos que dependen de la diferencia, la paridad o la codificación reversible.