--- title: Bitwise AND (&) slug: Web/JavaScript/Reference/Operators/Bitwise_AND tags: - JavaScript - Оператор - По - Побитовые операторы translation_of: Web/JavaScript/Reference/Operators/Bitwise_AND ---
{{jsSidebar("Operators")}}

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

{{EmbedInteractiveExample("pages/js/expressions-bitwise-and.html")}}

Синтаксис

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")}}

См. также