XOR
(chiark.greenend.org.uk)Introducción
- Recientemente tuve la oportunidad de explicar el operador XOR. En el pasado, aprender XOR era esencial para la manipulación de bits de bajo nivel en computadoras, pero hoy en día se ha vuelto opcional para los programadores de alto nivel.
- Mientras preparaba una charla sobre XOR, organicé varias ideas al respecto y decidí dejarlas por escrito en este documento.
Lógica booleana de XOR
¿Qué es XOR?
- XOR es un operador lógico que toma dos bits como entrada y produce un bit como salida.
- Su funcionamiento puede explicarse mediante una tabla de verdad.
"OR exclusivo"
- XOR significa "OR exclusivo" y devuelve verdadero cuando solo una de las dos entradas es verdadera.
Operador de "distinto"
- Como XOR devuelve 1 cuando las dos entradas son diferentes, funciona igual que a ≠ b.
Inversión condicional
- XOR puede verse como un operador de inversión condicional que determina si una entrada debe invertir la otra.
Paridad, o residuo al dividir entre 2
- XOR devuelve 1 cuando un número impar de bits de entrada es verdadero.
Diferencia módulo 2
- XOR funciona igual que el residuo módulo 2 de la suma y la resta.
Propiedades de XOR
- XOR cumple las propiedades conmutativa y asociativa, 0 actúa como elemento identidad y toda entrada es su propio inverso.
XOR bit a bit sobre enteros
- Los enteros pueden representarse en binario para realizar operaciones XOR bit a bit.
- El XOR bit a bit tiene las mismas propiedades que el XOR booleano.
Aplicaciones de XOR
Cifrado: combinación de texto plano y flujo de claves
- XOR se usa en cifrado para combinar el texto plano con un flujo de claves.
- XOR es más simple que la suma en hardware, por lo que es eficiente.
Gráficos de píxeles: dibujar imágenes que se pueden borrar fácilmente
- En los gráficos por computadora de los años 1980, se usaba XOR para dibujar imágenes que podían borrarse fácilmente.
- Con XOR, se puede volver a dibujar un píxel para restaurarlo a su estado original.
"Identidad del medio sumador"
- XOR representa el bit bajo de una suma, mientras que AND representa el bit alto.
- Para enteros, es posible realizar sumas usando XOR y AND.
Este documento explica diversas propiedades y aplicaciones de XOR, y ayuda a entender cómo funciona y en qué casos puede usarse de manera útil.
Aún no hay comentarios.