El operador lógico OR exclusivo, conocido comúnmente como XOR, es un operador binario que puede resultar un poco más complicado de entender que los operadores NOT, OR y AND tradicionales. Por eso, antes de adentrarnos en su funcionamiento, es importante tener bien claros esos tres operadores básicos, ya que el XOR se sale un poco de la tónica habitual y puede generar confusión al principio.
El XOR es un operador que toma dos valores binarios y devuelve 1 únicamente cuando hay un número impar de bits en 1 entre sus operandos. En términos más sencillos, esto significa que el resultado será 1 si uno y solo uno de los bits es 1, y será 0 si ambos bits son iguales, es decir, si los dos son 0 o los dos son 1. Por eso se le llama OR exclusivo: el resultado es verdadero exclusivamente cuando uno de los operandos es 1, pero no ambos.
La tabla de verdad para el XOR con dos entradas A y B queda así:
A | B | A XOR B
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0
Esta tabla refleja que el XOR devuelve 1 solo cuando hay un único 1 entre las dos entradas.
Cuando extendemos el operador XOR a más de dos operandos, la regla se mantiene: el resultado será 1 si el número total de bits en 1 es impar. Por ejemplo, si tenemos A XOR B XOR C, el resultado será 1 solo si la cantidad de bits en 1 entre A, B y C es impar. Esto se puede comprobar haciendo la operación paso a paso: primero A XOR B, y luego el resultado XOR C. Por ejemplo, 1 XOR 1 XOR 1 da como resultado 1, porque 1 XOR 1 es 0, y 0 XOR 1 es 1.
Este comportamiento es especialmente útil en áreas como la criptografía o en la comprobación de integridad de datos, donde se utilizan operaciones con bits para detectar errores o manipular información de forma segura.
Cuando aplicamos el XOR a números binarios que ocupan múltiples bits, la operación se realiza bit a bit, alineando los bits menos significativos a la derecha y comparando cada par de bits correspondientes. El resultado en cada posición será 1 si los bits son diferentes y 0 si son iguales. Por ejemplo, si tenemos dos números binarios:
0110010
10111001
Al hacer la operación XOR bit a bit, obtenemos un nuevo número binario donde cada bit es el resultado del XOR de los bits correspondientes de los operandos. La regla es sencilla: si los bits son iguales, el resultado es 0; si son diferentes, el resultado es 1.
Este operador es diferente del OR tradicional porque no admite que ambos bits sean 1 para devolver 1; en ese caso, devuelve 0. Esta característica lo hace especialmente útil para ciertas operaciones de bajo nivel en programación, donde se necesita manipular bits de manera precisa.
En definitiva, el operador XOR es una herramienta poderosa y versátil en programación, especialmente cuando trabajamos con bits, criptografía o verificaciones de integridad, aunque su lógica puede parecer menos intuitiva al principio. Con práctica y comprensión de su tabla de verdad y comportamiento con múltiples bits, se vuelve una operación muy manejable y útil en nuestro arsenal de operadores lógicos.