Enquanto programa em Python, o “Xor”O operador é utilizado em várias tarefas. Por exemplo, para detectar erros ou problemas na transmissão de dados com a ajuda da soma de verificação, aplique criptografia nas mensagens ou recupere determinados bits de um número. Mais especificamente, ele é usado para comparar dois conjuntos de dados ou strings e determinar se são semelhantes ou têm algumas diferenças.
Este blog cobrirá os seguintes aspectos:
O que é XOR em Python?
Em Python, “Xor" ou "Exclusivo ou”É um operador que compara dois números binários bit netwise. Este operador retorna “0”Se ambos os bits forem iguais. Caso contrário, produz “1”Caso ambos os valores sejam diferentes. O operador XOR embutido do Python nos permite combinar logicamente dois valores com a ajuda do exclusivo ou operação.
Como o XOR funciona no Python?
O operador XOR é representado como “^”Em Python, e segue a sintaxe dada:
xor_number = x ^ yAqui, "x ”e“ y”Indique os números binários,“^”Representa o operador XOR e“xor_number”Armazena o valor booleano resultante.
Xor Tabela de verdade
Para saber mais sobre o funcionamento do operador XOR, consulte a tabela especificada:
x | y | x ^ y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Como Xor duas cordas em Python?
Como o XOR é um operador um bit, ele só pode operar em inteiros. No entanto, para executar a operação XOR entre duas cordas, é necessário convertê -las em seus respectivos valores ASCII/Unicode usando os “ord ()”Função e depois aplique o“^Operador.
Existem três cenários principais de caso ao considerar a implicação do operador XOR nos valores da string:
Vamos praticamente demonstrar os casos declarados!
Caso 1: aplique XOR em duas cordas com valores binários
Para aplicar o operador XOR em duas cordas com valores binários, inicialmente inicialize -os da seguinte maneira:
String1 = "0100100"Agora, adicione as seguintes linhas:
resultado = [(ord (a) ^ ord (b)) para a, b em zip (string1, string2)]De acordo com o código fornecido:
Pode -se observar que, para cada mesmo bit de índice de ambas as strings, a saída do operador XOR “0”, E para valores diferentes,“1”É devolvido.
Caso 2: aplique XOR em duas cordas com caracteres
Agora, o operador XOR é aplicado em duas cordas com os seguintes valores de caracteres:
string1 = "dois"Nesse caso, o “ord ()”A função retorna o valor ASCII para cada um gerado e os passa para“^”para executar a operação XOR:
Outra maneira mais simples de lembrar o funcionamento deste caso é quando “ord ()”A função retorna o valor ASCII para cada par, o operador XOR produz seu valor subtraído.
Por exemplo:
Caso 3: aplique xor em dois quando uma string contiver caracteres, e outros são baseados em inteiros/valores binários
O último caso na discussão em andamento é quando uma string contém caracteres, como “dois”, E o outro compreende números inteiros ou valores binários, como“111”:
string1 = "dois"Aqui, o código funciona de maneira semelhante ao segundo caso. Exceto que os valores ASCII retornados foram convertidos para os respectivos caracteres usando o “Chr ()”Função Python:
A lista retornada representa os caracteres dos valores ASCII correspondentes.
Conclusão
Em Python, xor “^”Retorna“0”Se ambos os bits forem iguais. Caso contrário, produz “1”. No entanto, ambas as cordas compreendem caracteres, os valores são convertidos em sua representação ASCII usando o “ord ()”Função, e então o operador XOR é aplicado. A mesma operação é realizada quando ambas as cordas contêm diferentes tipos de dados, como caracteres e números inteiros. Somente a diferenciação é invocar o “Chr ()”Função para obter o valor resultante nos caracteres. Este blog demonstrou como XOR duas cordas em Python.