Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
Bitwise XOR (^)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
O operador bitwise XOR (^) 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ão1s.
In this article
Experimente
const a = 5; // 00000000000000000000000000000101const b = 3; // 00000000000000000000000000000011console.log(a ^ b); // 00000000000000000000000000000110// Expected output: 6Sintaxe
a ^ b
Descrição
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:
Antes: 11100110111110100000000000000110000000000001Depois: 10100000000000000110000000000001
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.
O operador é aplicado para cada par de bits e o resultado é construído em bitwise.
A tabela verdade para a operação XOR é:
| a | b | a XOR b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
. 9 (base 10) = 00000000000000000000000000001001 (base 2) 14 (base 10) = 00000000000000000000000000001110 (base 2) --------------------------------14 ^ 9 (base 10) = 00000000000000000000000000000111 (base 2) = 7 (base 10)Bitwise XORing any numberx with0 yieldsx.
Exemplos
>Usando bitwise XOR
// 9 (00000000000000000000000000001001)// 14 (00000000000000000000000000001110)14 ^ 9;// 7 (00000000000000000000000000000111)Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # prod-BitwiseXORExpression> |