Intermediate

Калькулятор циклического сдвига (поворота битов)

Выполните циклический поворот (barrel shift) целого числа влево или вправо в 8-, 16-, 32- или 64-битном регистре.
Non-negative integer that fits in the chosen width

bits

Направление

Bit width

Rotated value (binary)
10010110
Десятичный
150
Binary
10010110
Hex
0x96
Effective shift
3
031.963.895.6127.5159.4191.3223.1255Before and after rotation in the 8-bit range
Step by step
  1. 1

    Effective rotate amount

    3 mod 8 = 3
  2. 2

    Rotate left

    (210 << 3) | (210 >> (8 − 3)) = 150
    Bits leaving one end reappear at the other; result masked to 8 bits.
Результаты являются ориентировочными и предназначены только для общего ознакомления, а не для профессиональных рекомендаций — всегда самостоятельно проверяйте важные результаты, прежде чем полагаться на них. Читать полный отказ от ответственности.
Быстрый ответ

Как работает этот калькулятор?

Циклический сдвиг (поворот битов) перемещает каждый бит целого числа влево или вправо на k позиций внутри w-битного регистра, перенося биты с одного конца на другой. Вычислите k mod w для уменьшения сдвига, затем объедините сдвинутое значение с перенесёнными битами операцией ИЛИ и примените маску к w битам. Результат выводится в десятичной, двоичной и шестнадцатеричной форме.

Формула
ROL: r = ((n << k) | (n >> (w − k))) & mask; ROR: r = ((n >> k) | (n << (w − k))) & mask; mask = (1 << w) − 1
How this is calculated

Поворот (циклический или barrel shift) перемещает каждый бит значения n на k позиций внутри регистра фиксированной разрядности w. В отличие от обычного сдвига, биты, вышедшие за один конец, не теряются — они возвращаются на противоположный конец, поэтому общее число единичных битов не меняется. Выберите разрядность (8, 16, 32 или 64), соответствующую моделируемому регистру; n должно быть неотрицательным и умещаться в указанной разрядности.

Калькулятор сначала приводит величину поворота по формуле k mod w, так как поворот на полную разрядность возвращает исходное значение. Поворот влево объединяет (n << k) с перенесёнными битами (n >> (w − k)) и маскирует результат с помощью (1 << w) − 1, оставляя только младшие w бит. Поворот вправо — зеркальная операция, использующая (n >> k) и (n << (w − k)). Все вычисления выполняются с целыми числами произвольной точности (BigInt), поэтому 64-битные значения остаются точными.

Результат выводится в десятичной форме, в виде двоичной строки с ведущими нулями до w битов и в шестнадцатеричной форме с дополнением до разрядности регистра. Граничные случаи: величина поворота, кратная w, не изменяет значение; значение, не умещающееся в выбранной разрядности, отклоняется. Индексы битов в разбивке помечены с наиболее значимым битом слева.

Часто задаваемые вопросы

Логический сдвиг отбрасывает биты, вышедшие за край, и заполняет освободившиеся позиции нулями. Циклический сдвиг возвращает эти биты на другой конец, поэтому информация не теряется и число единичных битов остаётся неизменным.

Поворот на w шагов в w-битном регистре возвращает каждый бит на исходную позицию. Калькулятор применяет k mod w, поэтому поворот на 8 в 8-битном регистре (или на 16, 24 и т. д.) эквивалентен повороту на 0.

Значение должно быть представимо в w битах (от 0 до 2^w − 1). Если n больше, расширьте регистр или уменьшите n; калькулятор не будет молча усекать его.

Также известен как

циклический сдвиг битов
поворот битов
rotate left right
rol ror
циклический сдвиг
вращение битов
побитовый поворот

APA

TG we-Calculate Editorial Team. (2026). Калькулятор циклического сдвига (поворота битов) [Online calculator]. TG we-Calculate. https://we-calculate.com/ru/calculator/bit-rotate-calculator

Chicago

TG we-Calculate Editorial Team. "Калькулятор циклического сдвига (поворота битов)." TG we-Calculate. 2026. https://we-calculate.com/ru/calculator/bit-rotate-calculator.

IEEE

TG we-Calculate Editorial Team, "Калькулятор циклического сдвига (поворота битов)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/ru/calculator/bit-rotate-calculator

BibTeX

@misc{wecalculate_bit_rotate_calculator, title = {Калькулятор циклического сдвига (поворота битов)}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/ru/calculator/bit-rotate-calculator}}, year = {2026}, note = {TG we-Calculate} }

Этот калькулятор вам помог?

Похожие калькуляторы