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.

Побитовый оператор И (&) возвращает 1 в каждой битовой позиции, для которой соответствующие биты обоих операндов равны 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 Language Specification
# prod-BitwiseANDExpression

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

BCD tables only load in the browser

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