Эти операции рассматривают свои операнды как набор 32-битных двоичных чисел (нулей и единиц), а не как 10-ричные, 16-ричные или 8-ричные числа. Например, 10-ричное число 9 имеет бинарное представление 1001. Побитовые операции выполняются над такими двоичными представлениями, но возвращают стандартные числовые значения JavaScript.
В таблице резюмируется информация о побитовых операциях JavaScript.
Побитовое И
Возвращает 1 в каждой битовой позиции, где соответствующие биты обоих операндов равны 1.
Побитовое ИЛИ
a | b
Возвращает 1 в каждой битовой позиции, где соответствующие биты одного или обоих операндов равны 1.
Побитовое исключающее ИЛИ
Возвращает 1 в каждой битовой позиции, где соответствующие биты одного но не обоих операндов равны 1.
Побитовое НЕ
~ a
Инвертирует биты операнда.
Сдвиг влево
a << b
Сдвигает двоичное представление a на b битов влево, заполняя справа нулями.
Сдвиг вправо с сохранением знака
a >> b
Сдвигает двоичное представление a на b битов вправо, отбрасывая смещённые биты.
Сдвиг вправо с заполнением нулями
a >>> b
Сдвигает двоичное представление a на b битов вправо, отбрасывая смещённые биты и заполняя нулями слева.