P
pro·school.ru
Каталог школ

Побитовые операции над числами

💻 Информатика · 9 класс

Что такое побитовые операции

Побитовые операции — это действия, которые применяются к каждому биту числа в отдельности. Любое целое число хранится в памяти как набор битов (нулей и единиц) в двоичной системе. Побитовые операции позволяют управлять отдельными битами: включать их, выключать и проверять.

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

Основные операции

ОперацияОбозначениеПравило для двух битов
Побитовое Иand1 только если оба бита равны 1
Побитовое ИЛИor1, если хотя бы один бит равен 1
Исключающее ИЛИxor1, если биты различны
Сдвиг влевоshlумножение на 2 за каждый сдвиг

Как считать поразрядно

Возьмём числа 12 и 10. Запишем их в двоичном виде и применим побитовое И к каждому разряду:

12 = 1 1 0 0 10 = 1 0 1 0 and 1 0 0 0 = 8

В каждом столбце результат равен 1 только там, где у обоих чисел стоят единицы. Получилось двоичное 1000, то есть число 8.

Сдвиги и быстрое умножение

Сдвиг битов влево на один разряд добавляет справа ноль и удваивает число. Так двоичное 101 (это 5) после сдвига влево становится 1010 (это 10). Сдвиг вправо, наоборот, делит число нацело на 2.

  • Сдвиг влево на k позиций умножает число на 2 в степени k.
  • Сдвиг вправо на k позиций делит число нацело на 2 в степени k.
  • Эти операции работают быстрее обычного умножения и деления.

Где это применяют

Побитовые операции используют для хранения нескольких признаков в одном числе: каждый бит отвечает за отдельный признак — включён он или нет. Операция or включает бит, and проверяет его, а xor переключает на противоположное значение.

Запомни: исключающее ИЛИ обладает важным свойством — если применить xor к числу дважды с одним и тем же значением, исходное число восстановится. На этом основаны простые способы обмена значений и шифрования.

Проверка отдельного бита

Чтобы узнать, включён ли определённый бит числа, используют побитовое И с маской — числом, в котором единица стоит только на нужной позиции. Если результат не равен нулю, бит был установлен. Например, чтобы проверить младший бит и определить чётность числа, достаточно применить and с единицей: если итог равен 1, число нечётное, если 0 — чётное.

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

Кратко о главном

  • Побитовые операции применяются к каждому биту числа независимо.
  • И даёт 1 при двух единицах, ИЛИ — при хотя бы одной, исключающее ИЛИ — при разных битах.
  • Сдвиг влево удваивает число, сдвиг вправо делит его нацело на 2.
  • Двойное применение исключающего ИЛИ возвращает исходное значение.