Mientras se programaba en Python, el "Xor"El operador se utiliza en varias tareas. Por ejemplo, para detectar errores o problemas en la transmisión de datos con la ayuda de la suma de verificación, aplicar el cifrado en los mensajes o recuperar ciertos bits de un número. Más específicamente, se utiliza para comparar dos conjuntos de datos o cadenas y determinar si son similares o tienen algunas diferencias.
Este blog cubrirá los siguientes aspectos:
¿Qué es Xor en Python??
En Python, "Xor" o "Exclusivo o"Es un operador que compara dos números binarios bit a bit a. Este operador devuelve "0"Si ambos bits son iguales. Más, sale "1"En caso de que ambos valores sean diferentes. El operador XOR incorporado de Python nos permite combinar lógicamente dos valores con la ayuda de la operación exclusiva o exclusiva.
¿Cómo funciona Xor en Python??
El operador XOR se representa como "^"En Python, y sigue la sintaxis dada:
xor_number = x ^ yAquí, "X y Y"Indique los números binarios", "^"Representa al operador XOR, y"xor_number"Almacena el valor booleano resultante.
Table de la verdad Xor
Para saber más sobre el funcionamiento del operador XOR, mire la tabla dada:
X | Y | x ^ y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Cómo xor dos cuerdas en python?
Como Xor es un operador bitwise, solo puede funcionar en enteros. Sin embargo, para realizar la operación XOR entre dos cadenas, se requiere convertirlas en sus respectivos valores ASCII/Unicode utilizando el "Ord ()"Función y luego aplique el"^"Operador.
Existen tres escenarios de casos principales al considerar la implicación del operador XOR en los valores de cadena:
Prácticamente demostremos los casos declarados!
Caso 1: Aplicar XOR en dos cadenas con valores binarios
Para aplicar el operador XOR en dos cadenas que tienen valores binarios, primero inicializarlos de la siguiente manera:
string1 = "0100100"Ahora, agregue las siguientes líneas:
resultado = [(ord (a) ^ ord (b)) para a, b en zip (string1, string2)]Según el código dado:
Se puede observar que para cada mismo bit de índice de ambas cadenas, las salidas del operador XOR "0", Y para diferentes valores,"1" es regresado.
Caso 2: Aplicar Xor en dos cuerdas con caracteres
Ahora, el operador XOR se aplica en dos cadenas que tienen los siguientes valores de caracteres:
string1 = "dos"En este caso, el "Ord ()"La función devuelve el valor ASCII para cada generado y pasarlos a"^"para realizar la operación XOR:
Otra forma más sencilla de recordar el funcionamiento de este caso es cuando el "Ord ()La función devuelve el valor ASCII para cada par, el operador XOR emite su valor restado.
Por ejemplo:
Caso 3: Aplicar XOR en dos cuando una cadena contiene caracteres, y otro se basa en enteros/valores binarios
El último caso en la discusión en curso es cuando una cadena contiene caracteres, como "dos", Y el otro comprende enteros o valores binarios, como"111":
string1 = "dos"Aquí, el código funciona de manera similar al segundo caso. Excepto que los valores ASCII devueltos se han convertido a los caracteres respectivos utilizando el "chr ()"Función Python:
La lista devuelta representa los caracteres de los valores ASCII correspondientes.
Conclusión
En Python, Xor "^" devoluciones "0"Si ambos bits son iguales. Más, sale "1". Sin embargo, ambas cadenas comprenden caracteres, los valores se convierten en su representación ASCII utilizando el "Ord ()"Función, y luego se aplica el operador XOR. La misma operación se realiza cuando ambas cuerdas contienen diferentes tipos de datos, como caracteres e enteros. Solo la diferenciación es invocar el "chr ()"Funciona para obtener el valor resultante en los caracteres. Este blog demostró cómo xor dos cuerdas en Python.