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.
Conteúdo
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.