Калькулятор циклического сдвига (поворота битов)
Выполните циклический поворот (barrel shift) целого числа влево или вправо в 8-, 16-, 32- или 64-битном регистре.
bits
Направление
Bit width
- 1
Effective rotate amount
3 mod 8 = 3 - 2
Rotate left
(210 << 3) | (210 >> (8 − 3)) = 150Bits leaving one end reappear at the other; result masked to 8 bits.
Как работает этот калькулятор?
Циклический сдвиг (поворот битов) перемещает каждый бит целого числа влево или вправо на k позиций внутри w-битного регистра, перенося биты с одного конца на другой. Вычислите k mod w для уменьшения сдвига, затем объедините сдвинутое значение с перенесёнными битами операцией ИЛИ и примените маску к w битам. Результат выводится в десятичной, двоичной и шестнадцатеричной форме.
Формула
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; калькулятор не будет молча усекать его.
Также известен как
TG we-Calculate Editorial Team. (2026). Калькулятор циклического сдвига (поворота битов) [Online calculator]. TG we-Calculate. https://we-calculate.com/ru/calculator/bit-rotate-calculator
TG we-Calculate Editorial Team. "Калькулятор циклического сдвига (поворота битов)." TG we-Calculate. 2026. https://we-calculate.com/ru/calculator/bit-rotate-calculator.
TG we-Calculate Editorial Team, "Калькулятор циклического сдвига (поворота битов)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/ru/calculator/bit-rotate-calculator
@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} }
Этот калькулятор вам помог?
