E operador (&), ou operador (|), operador XOR (^), Operador de complemento (~), Operador esquerdo de mudança (<>).
Sintaxe de XOR
# Variável1 ^ variável2
A variável 1 é o primeiro operando em que a operação deve ser realizada. E a variável 2 é o segundo operando. '^' é o símbolo do operador XOR. Este símbolo é usado entre as duas variáveis nas quais a operação XOR deve ser aplicada.
C ++ XOR trabalhando
O operador XOR é o tipo de operador bitwise que possui dois operandos e, em cada bit desses dois operandos, a operação de XOR é realizada.
Se de alguma forma os dois bits desses dois operandos são zero, o valor resultante retornado pelo XOR é zero.
O resultante também é 0 se os dois valores dos números nos operandos forem 0.
Da mesma forma, o resultado de xor é um se e somente se os dois bits de dois operando forem 1.
Enquanto o valor retornado é apenas 1 quando os dois bits de dois operandos são diferentes. Se o primeiro operando é 1 e o segundo é zero ou vice-versa.
O valor de dois valores do operando é convertido no valor binário na forma de (0-1) bit. Depois disso, aplicamos a operação XOR em ambos os valores binários. Esta notação binária agora é convertida em forma decimal. Este é o valor inteiro semelhante aos valores dos operandos.
A tabela de verdade para o operador XOR
Operando a | Operando b | A ^ b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Implementação de C ++ XOR
Exemplo 1
Um exemplo simples para explicar o funcionamento do XOR em C ++ é explicado aqui. Precisamos ter duas variáveis que conterão dois valores nos quais aplicaremos a função XOR. Primeiro, a biblioteca é usada no arquivo de cabeçalho para permitir o uso de fluxos de CIN e Cout no programa que é conhecido por ser o iostream.
#incluir
Agora no programa principal, as duas variáveis serão inicializadas com os valores. Primeiro, esses dois valores serão convertidos na notação binária desses números.
Então, em cada binário, a operação XOR será aplicada. Como sabemos que 1 é devolvido se alguém opera é 1, caso contrário, 0 será devolvido. Seguindo essas regras, o resultado desse valor será obtido. E então a resposta binária será convertida em notação decimal.
O valor binário de 12 é 00001100
O valor binário de 25 é 00011001
Aplique operação XOR em ambos os valores.
00001100
^ 00011001
_________
00010101
Este é o valor binário de 21 na notação decimal.
Salve o arquivo com a extensão de C e depois, execute -o. Para executar um programa C ++, precisamos ter um compilador de uma linguagem de programação C ++. Então, para esse fim, um compilador G ++ é usado. Este compilador usa um arquivo de entrada e exibe os resultados. '-o' é usado para salvar o resultante no arquivo de saída.
$ g ++ -o xor xor.c
$ ./xor
Exemplo 2
Neste exemplo, encontraremos um valor desigual ou diferente entre a lista de números que não correspondem aos outros elementos da lista. É também uma aplicação de XOR que encontra o número diferente dos outros. Alguns números são fornecidos e um número ímpar é identificado.
Depois de usar a biblioteca iostream, criamos uma função separada fora do corpo principal. Esta função retornará o elemento ímpar na matriz. Esta função conterá a matriz e a variável inteira como um parâmetro, porque a variável conterá o tamanho da matriz inicializada no programa principal. Uma variável também é introduzida aqui que armazenará o número ímpar calculado por XOR. Como sabemos que, para acessar cada índice da matriz, precisamos usar um loop que itera e incrementos em cada etapa.
O loop irá até o tamanho de uma matriz e, em cada iteração, a variável calculará o número ímpar e o armazenará.
Res ^= arr [i];
O valor será devolvido ao programa principal. No programa principal, uma matriz com alguns números é inicializada. O tamanho da matriz é obtido e, em seguida, uma chamada de função é feita na declaração cout para exibir o número ímpar entre todos os mesmos números.
Findodd (arr, n)
Salve o código acima e compile -o no terminal. Você verá que o número 90 é o que é incomum em toda a matriz.
Exemplo 3
Este exemplo é sobre o uso combinado de alguns operadores bitwise. Então, depois de usar a biblioteca, iremos em direção ao programa principal. Assim como Xor, e e o operador ou o operador funciona com dois valores mínimo. Em primeiro lugar, inicializaremos duas variáveis com os números. Em cada operação bit a bit, cada número será convertido pela primeira vez no valor binário para aplicar os operadores e, em seguida, os resultados serão convertidos em números decimais, como fizemos no exemplo anterior. Agora, vamos aplicar e operador. De acordo com esse operador, os dois operandos devem ter 1 valor para que o operador e o operador se tornem verdadeiros e retorne 1, no caso de qualquer 0, ele retornará falsa.
A&B;
Um valor resultante binário será obtido e a conversão decimal será seguida. O próximo é o operador ou. Para esta operação bittual, apenas um único operando deve ser 1, para que possa retornar 1 e se ambos os operando forem 1, novamente 1 será devolvido.
A | b;
Novamente, converta o binário no valor decimal. E o último operador é o operador XOR, para o qual sabemos que retorna 1 se e somente se algum de seus operandos for 1. Caso contrário, é 0.
A ^ b;
Agora, salve e execute o arquivo. Você verá que cada operador trabalhou efetivamente para calcular os valores resultantes.
Fatos importantes sobre operadores bit -newwise
Os operadores bitwise não devem ser usados no local dos operadores lógicos. Porque o resultado do operador lógico é 1 ou 0. (Os operadores lógicos são e, ou não). O valor obtido é um número inteiro. Isso ocorre porque o valor decimal é convertido em valor binário e, novamente, o binário é convertido em um valor decimal que é um valor inteiro.
Conclusão
Agora, resumiremos o tópico 'C ++ xor'. Explicamos os operadores XOR Bit Nexualmente, definindo todos os tipos. O funcionamento do XOR também é explicado na linguagem de programação C ++. Seu trabalho inclui o envolvimento da tabela de verdade que também é mencionado acima. Alguns exemplos estão incluídos aqui para demonstrar o conhecimento do operador XOR Bitwise.