XOR
(chiark.greenend.org.uk)Introdução
- Recentemente, tive a oportunidade de explicar o operador XOR. No passado, aprender XOR era essencial para manipulação de bits em baixo nível nos computadores, mas hoje isso se tornou opcional para programadores de alto nível.
- Ao preparar uma aula sobre XOR, organizei várias ideias sobre o tema e decidi registrá-las em um documento.
Lógica booleana do XOR
O que é XOR?
- XOR é um operador lógico que recebe dois bits como entrada e produz um bit como saída.
- É possível explicar o funcionamento do XOR por meio de uma tabela-verdade.
"OU exclusivo"
- XOR significa "OU exclusivo" e retorna verdadeiro quando apenas uma das duas entradas é verdadeira.
Operador de 'diferente'
- Como XOR retorna 1 quando as duas entradas são diferentes, ele funciona da mesma forma que a ≠ b.
Inversão condicional
- XOR pode ser visto como uma operação de inversão condicional em que uma entrada determina se a outra deve ser invertida.
Paridade, ou resto da divisão por 2
- XOR retorna 1 quando há um número ímpar de bits verdadeiros entre as entradas.
Diferença módulo 2
- XOR funciona da mesma forma que o resto da adição e da subtração na divisão por 2.
Propriedades do XOR
- XOR obedece às propriedades comutativa e associativa, 0 atua como elemento neutro e toda entrada é seu próprio inverso.
XOR bit a bit em inteiros
- É possível representar inteiros em binário e realizar a operação XOR bit a bit.
- O XOR bit a bit tem as mesmas propriedades do XOR booleano.
Aplicações do XOR
Criptografia: combinação de texto plano e fluxo de chave
- XOR é usado na criptografia para combinar texto plano e fluxo de chave.
- XOR é mais simples que a adição em hardware, o que o torna eficiente.
Gráficos de pixels: desenhar imagens que podem ser apagadas facilmente
- Nos gráficos de computador da década de 1980, o XOR era usado para desenhar imagens que podiam ser apagadas facilmente.
- Com XOR, é possível redesenhar os pixels e restaurá-los ao estado original.
"Identidade do meio somador"
- XOR representa o bit menos significativo da soma, enquanto AND representa o bit mais significativo.
- É possível realizar adição em inteiros usando XOR e AND.
Este documento explica várias propriedades e aplicações do XOR e ajuda a entender como ele funciona e em que situações pode ser usado de forma útil.
Ainda não há comentários.