--- title: Bitwise AND (&) slug: Web/JavaScript/Reference/Operators/Bitwise_AND tags: - JavaScript - Оператор - По - Побитовые операторы translation_of: Web/JavaScript/Reference/Operators/Bitwise_AND ---
Побитовый оператор И (&
) возвращает 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
Спецификация |
---|
{{SpecName('ESDraft', '#prod-BitwiseANDExpression', 'Bitwise AND expression')}} |
{{Compat("javascript.operators.bitwise_and")}}