XOR em Python

Muhammad Waiz Khan 30 janeiro 2023
  1. Obtenha XOR em Python usando o operador ^
  2. Obtenha XOR em Python usando operadores lógicos
  3. Obtenha o XOR em Python usando o método integrado xor()
XOR em Python

Este tutorial explicará várias maneiras de realizar a operação XOR (OR exclusivo) em duas variáveis ​​em Python. A operação XOR é geralmente usada em protocolos diferentes, como na verificação de erros ou em situações em que não queremos que duas condições sejam verdadeiras ao mesmo tempo.

Obtenha XOR em Python usando o operador ^

O operador ^ em Python é para XOR bit a bit e também pode ser usado em booleanos. Os exemplos de código a seguir demonstram como podemos realizar a operação XOR nos booleanos e a operação XOR bit a bit nos inteiros.

Exemplo de operação Python XOR 1:

a = bool(1)
b = bool(0)
print(a ^ b)

Resultado:

True

Exemplo de operação Python XOR 2:

a = 3
b = 5
print(a ^ b)

Resultado:

6

3 em binário é 0b11 e 5 é 0b101, então o XOR de 0b011 e 0b101 será 0b110, que é 6 em decimal.

Obtenha XOR em Python usando operadores lógicos

Podemos implementar um método xor() definido pelo usuário usando operadores lógicos em Python. O exemplo de código abaixo mostra como podemos implementar o método xor() em booleanos usando os operadores and, or e not em Python.

Código de exemplo:

def xor(x, y):
    return bool((x and not y) or (not x and y))


print(xor(0, 0))
print(xor(0, 1))
print(xor(1, 0))
print(xor(1, 1))

Resultado:

False
True
True
False

Obtenha o XOR em Python usando o método integrado xor()

O método xor() do módulo operator do Python também pode ser usado para obter XOR de booleanos e inteiros. A funcionalidade do método xor() em Python é a mesma do operador ^. Ele também executa operação XOR bit a bit em inteiros e operação XOR em booleanos. O código de exemplo abaixo explica como usar o método xor() para aplicar XOR em booleanos e números inteiros.

from operator import xor

print(xor(bool(0), bool(0)))
print(xor(5, 3))

Resultado:

False
6

Artigo relacionado - Python Operator