Bitwise AND (&)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

O operador bitwise AND (&) retorna 1 em cada posição do bit em que os bits corrrespondentes de ambos os operandos são 1.

Experimente

const a = 5; // 00000000000000000000000000000101
const b = 3; // 00000000000000000000000000000011

console.log(a & b); // 00000000000000000000000000000001
// Expected output: 1

Sintaxe

js
a & b

Descrição

Os operandos são convertidos em inteiros de 32 bits e expressos por uma série de bits (zeros e uns). Números com mais de 32 bits têm seus bits mais significativos descartados. Por exemplo, o seguinte inteiro com mais de 32 bits será convertido em um de 32 bits inteiro:

Antes: 11100110111110100000000000000110000000000001
Depois:            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 a cada par de bits e o resultado é construído em bitwase.

A tabela verdade para a operação AND é:

a b a AND b
0 0 0
0 1 0
1 0 0
1 1 1
     9 (base 10) = 00000000000000000000000000001001 (base 2)
    14 (base 10) = 00000000000000000000000000001110 (base 2)
                   --------------------------------
14 & 9 (base 10) = 00000000000000000000000000001000 (base 2) = 8 (base 10)

A operação AND bit a bit (Bitwase) de qualquer número x com 0 produz 0 .

Exemplos

Usando bitwase AND

js
//  5: 00000000000000000000000000000101
//  2: 00000000000000000000000000000010
5  e  2 ; // 0

Especificações

Specification
ECMAScript® 2025 Language Specification
# prod-BitwiseANDExpression

Compatibilidade de navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Bitwise AND (a & b)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Veja também