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 |
. 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
.
Примеры
Использование побитового И
// 5: 00000000000000000000000000000101
// 2: 00000000000000000000000000000010
5 & 2; // 0
Спецификации
Specification |
---|
ECMAScript Language Specification # prod-BitwiseANDExpression |
Совместимость с браузерами
BCD tables only load in the browser