logo

Operador XOR bit a bit C++

  • O operador Bitwise XOR também é conhecido como Exclusivo ou
  • É denotado usando o '^'
  • Como o nome indica, ele funciona no nível de bits dos operandos.
  • O operador Bitwise XOR está na categoria de operadores Bitwise.
  • No operador OR exclusivo bit a bit (XOR), dois operandos são necessários, e esses dois operandos são separados pelo símbolo XOR, ou seja, '^'.
  • Para determinar a saída ou resultado obtido após a aplicação do operador XOR em dois operandos, precisamos seguir a tabela verdade lógica do operador XOR.
  • XOR Truth Table é a tabela matemática construída usando a lógica adequada do operador XOR.
  • A lógica usada por trás do operador XOR é; sempre que a operação XOR é aplicada nos dois diferente bits de dois operandos, então o resultado sempre produzirá '1', e se a operação XOR for aplicada nos dois mesmo bits de dois operandos, então o resultado produz a saída '0'.

Tabela verdade do operador OR exclusivo (XOR)

Sejam dois operandos; o primeiro é A e o segundo é B, o total de combinações de entrada formadas por esses dois operandos será 4. Usando a seguinte tabela verdade XOR, determinaremos a saída correspondente. O resultado será capturado em C, aqui C=A^B.

Nesta tabela verdade, estamos recebendo a entrada na forma de bits, ou seja, 0 e 1, e a saída também será gerada na forma de bits, ou seja, 0 e 1.

Operador XOR bit a bit C++

Aqui, na tabela XOR Truth acima, observamos que quando os valores dos operandos A e B são diferentes, ou seja, ( 0, 1 ), ( 1, 0 ), o resultado que sai será sempre 1. E quando o os valores dos operandos A e B são iguais, ou seja, ( 0, 0 ), ( 1, 1 ), o resultado obtido será sempre 0.

Da mesma forma, desta forma, podemos desenhar a tabela verdade para boleano valores -

Sejam dois operandos; o primeiro é A e o segundo é B . O total de combinações de entrada formadas por esses dois operandos será 4. Usando a seguinte tabela verdade XOR, determinaremos a saída correspondente. O resultado será capturado em C, aqui C = A ^ B.

Nesta tabela verdade, estamos recebendo informações na forma de valores Verdade, ou seja, Verdadeiro (T) e Falso (F). A saída também será gerada na forma de valores True, ou seja, T e F.

baixar vídeos do youtube vlc
Operador XOR bit a bit C++

Aqui, na tabela XOR Truth acima, observamos que, quando os valores dos operandos A e B são diferentes, ou seja, ( F, T ), ( T, F ), o resultado será sempre T. E quando o os valores dos operandos A e B são iguais, ou seja, (F, F), (T, T), o resultado será sempre F.

Pelas tabelas acima, observamos que T (Verdadeiro) é denotado por um e F (Falso) é denotado por 0.

Etapas para resolver qualquer problema -

  1. Os operandos dados no problema estarão sempre no valor decimal.
  2. Primeiramente, precisamos converter os valores dos operandos em binário
  3. Após converter os valores dos operandos em números binários, coloque os dois operandos um sobre o outro.
  4. Lembre-se que antes de aplicar a operação OR exclusiva (XOR) neles, verifique o número de dígitos neles.
  5. Se a contagem de dígitos não corresponder, os 0 extras na extremidade esquerda do operando pequeno equilibram as contagens de dígitos.
  6. Finalmente, com a ajuda da tabela verdade acima, aplique a operação XOR nos operandos um por um, pegando um bit de cada vez para aplicar a operação XOR.
  7. Por fim, o resultado é produzido na forma de saída.
  8. A saída produzida estará no formato binário, agora converta o formato binário para o formato decimal e anote o valor do resultado.

Execução da operação Bitwise Exclusive OR (XOR) em C++

Vamos entender mais detalhadamente sobre a execução da operação XOR em C++ com a ajuda de exemplos -

Exemplo 1: Encontre o OR exclusivo de valores inteiros; 10 e 14. Além disso, explique e escreva o código de execução em C++.

Solução: Vamos considerar duas variáveis, 'a' e 'b', para armazenar os dois operandos correspondentes dados na questão acima, ou seja, 10 e 14.

Aqui, a = 10 e b = 14.

Seguiremos os passos abaixo para descobrir o OR exclusivo dos dois operandos fornecidos.

  1. Sabemos que 10 e 14 estão na forma decimal, e para aplicar a operação XOR bit a bit é necessário convertê-la para a forma binária.
  2. A forma binária 'a', ou seja, 10 é '1010' e forma binária de 'b', ou seja, 14 é '1110'.
  3. Aqui observamos que a contagem de dígitos binários presentes em a é quatro e a contagem de dígitos binários presentes em b também é 4; portanto, o número de dígitos binários presentes em ambas as variáveis ​​​​é o mesmo e já balanceado, não precisamos adicionar mais números de 0 para equilibrá-lo.
  4. Agora, colocando os dígitos binários presentes em 'b' nos dígitos binários presentes em 'a'.
  5. Por fim, aplique a operação XOR uma por uma nas correspondências de bits correspondentes e anote a saída.
  6. A saída gerada finalmente estará na forma binária, conforme a questão acima dada na forma decimal, portanto precisamos converter o resultado na forma decimal.

Explicação:

a = 10 (na forma decimal)

b = 14 (na forma decimal)

Agora, para um XOR b, precisamos converter aeb na forma binária -

a = 1010 (na forma binária)

b = 1110 (na forma binária)

Agora, aplicando a operação XOR em a e b -

uma = 1010

b = 1110

---------------

uma ^ b = 0100 (Em formato binário)

O resultado de a ^ b é 0100, que está na forma binária.

Agora convertendo o resultado na forma decimal, que é 4.

10 ^ 14 = 4

NOTA: Ao usar a tabela verdade XOR acima, a saída dos bits correspondentes é gerada.

Aplicaremos agora a operação XOR bit a bit em 10 e 14 na linguagem C++ e obteremos o resultado, ou seja, 4.

Código C++ para o exemplo acima:

 //************************ C++ Code ****************************** #include using namespace std; int main () { int a, b, c ; // Initializing integer variables to store data values cout <' << endl ; cout <> a ; // taking a as input from user cout &lt;&gt; b ; // taking b as input from user c = a ^ b ; // storing XOR result of a and b in c cout &lt;&lt; &apos;Applying XOR operation on a and b: &apos;&lt;&lt; endl ; cout &lt;&lt; &apos;a ^ b = &apos; &lt;&lt; c &lt;&lt; endl ; // Printing the output } </'>

Saída

Operador XOR bit a bit C++

Exemplo 2: Encontre o OR exclusivo de valores inteiros; 3 e 15. Além disso, explique e escreva o código de execução em C++.

Solução: Vamos considerar duas variáveis, 'a' e 'b', para armazenar os dois operandos correspondentes dados na questão acima, ou seja, 3 e 15.

Aqui, a = 3 e b = 15.

Seguiremos os passos abaixo para descobrir o OR exclusivo dos dois operandos fornecidos.

  1. Sabemos que 3 e 15 estão na forma decimal, e para aplicar a operação XOR bit a bit é necessário convertê-la para a forma binária.
  2. A forma binária 'a', ou seja, 3 é 'onze' e forma binária de 'b', ou seja, 15 é '1111'.
  3. Aqui observaremos que a contagem de dígitos binários presentes em a é dois e a contagem de dígitos binários presentes em b é quatro; portanto, o número de dígitos binários presentes em ambas as variáveis ​​não é o mesmo. Assim, desequilibrado, precisamos adicionar mais números de 0 no lado esquerdo do número binário inferior, ou seja, a, que é ' onze' , para equilibrá-lo.
  4. Após o balanceamento, o valor de a é '0011' , e b é '1111'.
  5. Agora, colocando os dígitos binários presentes em 'b' nos dígitos binários presentes em 'a'.
  6. Por fim, aplique a operação XOR uma por uma nas correspondências de bits correspondentes e anote a saída.
  7. A saída gerada finalmente estará na forma binária, conforme a questão acima dada na forma decimal, portanto precisamos converter o resultado na forma decimal.

Explicação:

a = 3 (na forma decimal)

b = 15 (na forma decimal)

Agora, para um XOR b, precisamos converter aeb na forma binária -

a = 0011 (em formato binário)

b = 1111 (na forma binária)

Agora, aplicando a operação XOR em a e b -

uma = 0011

b = 1111

---------------

uma ^ b = 1100 (Em formato binário)

O resultado de a ^ b é 1100, que está na forma binária.

Agora convertendo o resultado na forma decimal, que é 12.

char em string java

3 ^ 15 = 12

NOTA: Ao usar a tabela verdade XOR acima, a saída dos bits correspondentes é gerada.

Aplicaremos agora a operação XOR bit a bit em 3 e 15 na linguagem C++ e obteremos o resultado, ou seja, 12.

Código C++ para o exemplo acima:

 //************************ C++ Code ****************************** #include using namespace std; int main () { int a, b, c ; // Initializing integer variables to store data values cout <' << endl ; cout <> a ; // taking a as input from user cout &lt;&gt; b ; // taking b as input from user c = a ^ b ; // storing XOR result of a and b in c cout &lt;&lt; &apos;Applying XOR operation on a and b: &apos;&lt;&lt; endl ; cout &lt;&lt; &apos;a ^ b = &apos; &lt;&lt; c &lt;&lt; endl ; // Printing the output } </'>

Saída

Operador XOR bit a bit C++