Thanks to visit codestin.com
Credit goes to developer.mozilla.org

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

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 июль 2015 г..

Побитовый оператор И (&) возвращает 1 в каждой битовой позиции, для которой соответствующие биты обоих операндов равны 1.

Интерактивный пример

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

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

Синтаксис

a & b

Описание

Операнды преобразуются в 32-битные целые числа и выражаются серией битов (нулей and единиц). Числа с более чем 32 битами отбрасывают старшие разряды. Например, следующее целое число с более чем 32 битами будет преобразовано в 32-битное целое:

До: 11100110111110100000000000000110000000000001
После:          10100000000000000110000000000001

Каждый бит в первом операнде связан с соответствующим битом во втором операнде:первый бит - с первым,второй- со вторым, и т.д.

Оператор применяется к каждой паре битов, и результат строится побитово.

Таблица истинности для оператора И:

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

Побитовое И для любого числа x с 0 даёт 0.

Примеры

Использование побитового И

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

Спецификации

Specification
ECMAScript® 2027 Language Specification
# prod-BitwiseANDExpression

Совместимость с браузерами

Смотрите также