Побитовые операции — это математические операции, которые манипулируют битовыми значениями в заданном целом числе. эти операции можно применять к целым числам, действительным числам одинарной или двойной точности и двоичным целым числам без потери точности. Побитовые операции используются во многих областях информатики и инженерии, а также при проектировании оборудования, ориентированного на цифровое оборудование. Побитовые алгоритмы используются во многих отношениях. Обычное использование побитовых операций включает шифрование/дешифрование данных, шифрование/дешифрование файлов, изменение битовых значений в двоичных данных, сжатие/сжатие данных, изменение схемы физической памяти процессора, изменение плоскости данных в коммутаторе или маршрутизаторе, тестирование логические условия, выполнение тестов на уровне битов и т. д.

Побитовое И (&)

Этот оператор возвращает 1, когда оба бита равны 1. Для выполнения побитового И требуется два числа.

JavaScript хранит числа в 64-битном формате. Побитовые операторы преобразуют десятичные числа в 32-битные двоичные числа, решают заданный оператор и преобразуют его обратно для получения вывода.

Пример: 1

Пример: 2

Побитовое ИЛИ (|)

Возвращает 1, даже если один из двух битов равен 1, и возвращает 0, если оба бита равны 0.

Этот оператор выполняет операции после преобразования заданного числа в 32 бита. Для исполнения требуется два числа.

Пример :

Побитовое исключающее ИЛИ (^)

Этот оператор возвращает 1, только если один бит равен 1, а другой бит равен 0.

Выполнение операций после преобразования заданного числа в 32 бита.

Пример :

Побитовое НЕ (~)

Это унарная операция, для нее требуется только один операнд. Он инвертирует / переворачивает биты заданного числа, например, дополняя каждый бит один за другим.

Заданное число преобразуется в двоичное число, затем (~) применяется к двоичному числу, и 0 становится 1, а 1 становится 0.

Пример :

Здесь значение вычисляется в формате дополнения со знаком 2.

Таким образом, дополнение 1 удаляется путем переворачивания/инвертирования битов, а дополнение 2 удаляется путем добавления +1 к дополнению 1.

Сдвиг вправо (››)

В этом операторе самые правые биты, смещенные вправо, отбрасываются, а копии самого левого бита сдвигаются слева. И нули, и единицы вставляются и отбрасываются.

Пример :

Число, которое идет после (››), представляет количество сдвигов, когда оно сдвигается вправо, определенное количество битов отбрасывается и заменяется крайними левыми битами.

Левый "шифт (<<)

Этот оператор почти такой же, как оператор сдвига вправо, просто определенное количество битов сдвигается влево и отбрасывается, большинство правых битов заменяют отброшенные биты. Вставляются и отбрасываются только нули.

Пример :