Intermediate

Калькулятор циклічного зсуву бітів

Виконайте циклічний зсув (бочковий зсув) цілого числа ліворуч або праворуч у межах 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 за допомогою k mod w, потім об'єднайте операцією OR зсунуте значення з перенесеними бітами та застосуйте маску до 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

Циклічний зсув (також відомий як бочковий зсув) переміщує кожен біт значення 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; калькулятор не буде мовчки його відкидати.

Також відомий як

циклічний зсув бітів
обертання бітів
циклічний зсув
поворот бітів
rol ror
обертання вліво вправо
bit rotate

APA

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

Chicago

TG we-Calculate Editorial Team. "Калькулятор циклічного зсуву бітів." TG we-Calculate. 2026. https://we-calculate.com/uk/calculator/bit-rotate-calculator.

IEEE

TG we-Calculate Editorial Team, "Калькулятор циклічного зсуву бітів," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/uk/calculator/bit-rotate-calculator

BibTeX

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

Чи допоміг вам цей калькулятор?

Пов'язані калькулятори