Битовый сдвиг

Логический и арифметический сдвиг влево/вправо

Целое число

На сколько бит (0–63)

Нашли ошибку или хотите предложить улучшение?

Улучшить калькулятор «Битовый сдвиг»

Теория

Битовый сдвиг двигает все биты числа влево или вправо. Сдвиг влево на \(n\) позиций умножает число на \(2^n\): \(5 << 2 = 20\). Сдвиг вправо делит на степень двойки, отбрасывая младшие биты; логический сдвиг вправо всегда заполняет освободившиеся позиции нулями.

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

Важно: сдвиг влево может потерять старшие биты, вышедшие за разрядность, — результат обрезается.

Пример с решением

  1. Условие. Сдвиньте число 5 влево на 2 позиции.
  2. Формула. \(x << n = x \times 2^n\).
  3. Подстановка. \(5 << 2 = 5 \times 2^2\).
  4. Вычисление. \(5 \times 4 = 20\).
  5. Ответ. \(5 << 2 = 20\). Калькулятор с числом 5, направлением «влево» и сдвигом 2 покажет 20; сдвиг вправо на 2 вернёт 1.

Главное

  • Влево: умножение на \(2^n\); вправо: деление на \(2^n\).
  • Логический сдвиг вправо заполняет нулями.
  • Вышедшие за разрядность биты теряются.