Побитовые операции — это математические операции, которые манипулируют битовыми значениями в заданном целом числе. эти операции можно применять к целым числам, действительным числам одинарной или двойной точности и двоичным целым числам без потери точности. Побитовые операции используются во многих областях информатики и инженерии, а также при проектировании оборудования, ориентированного на цифровое оборудование. Побитовые алгоритмы используются во многих отношениях. Обычное использование побитовых операций включает шифрование/дешифрование данных, шифрование/дешифрование файлов, изменение битовых значений в двоичных данных, сжатие/сжатие данных, изменение схемы физической памяти процессора, изменение плоскости данных в коммутаторе или маршрутизаторе, тестирование логические условия, выполнение тестов на уровне битов и т. д.
Побитовое И (&)
Этот оператор возвращает 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.
Сдвиг вправо (››)
В этом операторе самые правые биты, смещенные вправо, отбрасываются, а копии самого левого бита сдвигаются слева. И нули, и единицы вставляются и отбрасываются.
Пример :
Число, которое идет после (››), представляет количество сдвигов, когда оно сдвигается вправо, определенное количество битов отбрасывается и заменяется крайними левыми битами.
Левый "шифт (<<)
Этот оператор почти такой же, как оператор сдвига вправо, просто определенное количество битов сдвигается влево и отбрасывается, большинство правых битов заменяют отброшенные биты. Вставляются и отбрасываются только нули.
Пример :