Como usar o operador bit a bit exclusivo ou (xor) em c programação

XOR é o operador OU exclusivo em programação C, mais um operador lógico bit a bit. E para responder a sua pergunta mais premente, você pronuncia XOR como “Zor.” É o nome mal perfeita de ficção científica ruim.

Video: Curso de C - Operadores a nivel de bit

A operação XOR é meio estranho, mas tem seu charme. Na operação XOR, os bits são comparados uns com os outros, assim como o & e | operadores. Quando dois bits são idênticos, XOR tosse a 0. Quando os dois bits são diferentes, XOR cospe um 1. Como de costume, um exemplo de programa ajuda a explicar as coisas.

O operador C linguagem XOR é o carácter circunflexo: ^. Você pode encontrá-lo colocar em ação na Linha 14 em É exclusivo OR.

Video: 13 C | Swap two numbers using XOR

É EXCLUSIVO OU

#include char * binbin (int n) -int main () {int a, X, R-a = 73 x = 170-printf (" % S% 3DN", Binbin (a), a) -printf ("^% S% 3DN", Binbin (x), x) -r = a ^ x-printf ("=% S% 3DN", Binbin (R), r) -Retornar (0) -} char * binbin (int n) {bin static char [9] -int x-para (x = 0-xlt; 8-x ++) {bin [x] n = & 0x80? `1`: `0`-n lt; lt; = 1-} bin [x] = `` -Retornar (bin) -}

Exercício 1: Digite o código-fonte do É exclusivo OR em seu editor. Construir e correr para ver como a operação XOR afeta valores binários.



A coisa encantadora sobre a operação XOR é que se você usar o mesmo valor XOR em uma variável duas vezes, você recebe de volta valor original da variável.

exercício 2: Modificar o código fonte a partir É exclusivo OR de modo que a operação mais uma XOR ocorre. Inserir essas três declarações após a linha 15:

Video: Curso de C 40 Campos de Bit 4a

printf ("^% S% 3DN", Binbin (x), x) -a = r ^ x-printf ("=% S% 3DN", Binbin (a), a) -

Construir e executar. A saída parecido com este:

Video: Programação Moderna em C

 01001001 10101010 73 ^ 170 = 11100011 227 ^ 170 = 10101010 01001001 73

Usando o mesmo valor de XOR 170 transforma o valor de 73 pela primeira vez em 227 e, em seguida, voltar para 73.

Porque XOR é o operador OU exclusivo, alguns programadores consulte o bit a bit padrão ou operador como a inclusivo OR operador.


Publicações relacionadas