--- title: Bitwise XOR (^) slug: Web/JavaScript/Reference/Operators/Bitwise_XOR translation_of: Web/JavaScript/Reference/Operators/Bitwise_XOR --- <div>{{jsSidebar("Operators")}}</div> <p>O operador bitwise XOR (<code>^</code>) retorna o numero 1 em cada posição de bit para a qual os bits correspondentes de ambos, mas não de ambos os operandos, são <code>1</code>s.</p> <div>{{EmbedInteractiveExample("pages/js/expressions-bitwise-xor.html")}}</div> <div class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</div> <h2 id="Sintaxe">Sintaxe</h2> <pre class="syntaxbox notranslate"><code><var>a</var> ^ <var>b</var></code> </pre> <h2 id="Descrição">Descrição</h2> <p>Os operandos são convertidos em números inteiros de 32 bits e expressados por uma série de bits (zeros e uns). Numeros com mais de 32 bits descartam seus bits mais significativos. Por exemplo, o número inteiro a seguir com mais de 32 bits será convertido em um número inteiro de 32 bits:</p> <pre class="brush: js notranslate">Antes: 11100110111110100000000000000110000000000001 Depois: 10100000000000000110000000000001</pre> <p>Cada bit no primeiro operando é emparelhado com o bit correspondente no segundo operando: primeiro bit para o primeiro bit, segundo bit para o segundo bit e assim por diante.</p> <p>O operador é aplicado para cada par de bits e o resultado é construído em bitwise.</p> <p>A tabela verdade para a operação XOR é:</p> <table class="standard-table"> <thead> <tr> <th class="header" scope="col">a</th> <th class="header" scope="col">b</th> <th class="header" scope="col">a XOR b</th> </tr> </thead> <tbody> <tr> <td>0</td> <td>0</td> <td>0</td> </tr> <tr> <td>0</td> <td>1</td> <td>1</td> </tr> <tr> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>1</td> <td>1</td> <td>0</td> </tr> </tbody> </table> <pre class="brush: js notranslate">. 9 (base 10) = 00000000000000000000000000001001 (base 2) 14 (base 10) = 00000000000000000000000000001110 (base 2) -------------------------------- 14 ^ 9 (base 10) = 00000000000000000000000000000111 (base 2) = 7 (base 10) </pre> <p>Bitwise XORing any number <code><var>x</var></code> with <code>0</code> yields <code><var>x</var></code>.</p> <h2 id="Exemplos">Exemplos</h2> <h3 id="Usando_bitwise_XOR">Usando bitwise XOR</h3> <pre class="brush: js notranslate">// 9 (00000000000000000000000000001001) // 14 (00000000000000000000000000001110) 14 ^ 9; // 7 (00000000000000000000000000000111)</pre> <h2 id="Especificações">Especificações</h2> <table class="standard-table"> <thead> <tr> <th scope="col">Specification</th> </tr> </thead> <tbody> <tr> <td>{{SpecName('ESDraft', '#prod-BitwiseXORExpression', 'Bitwise XOR expression')}}</td> </tr> </tbody> </table> <h2 id="Browser_compatibility">Compatibilidade com navegadores</h2> <p>{{Compat("javascript.operators.bitwise_xor")}}</p> <h2 id="Leia_também">Leia também</h2> <ul> <li><a href="/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Bitwise">Bitwise operators in the JS guide</a></li> <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_XOR_assignment">Bitwise XOR assignment operator</a></li> </ul>