Intermediate

Bitų pasukimo skaičiuoklė (ciklinis postūmis)

Atlikite ciklinį bitų pasukimą (būgninį postūmį) kairėn arba dešinėn 8, 16, 32 arba 64 bitų registre.
Non-negative integer that fits in the chosen width

bits

Kryptis

Bit width

Rotated value (binary)
10010110
Dešimtainis
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.
Rezultatai yra apytiksliai ir skirti tik bendrai informacijai, jie nėra profesionalus patarimas — prieš jais remdamiesi visada savarankiškai patikrinkite svarbius rezultatus. Skaityti visą atsakomybės apribojimą.
Greitas atsakymas

Kaip veikia ši skaičiuoklė?

Bitų pasukimas, arba ciklinis postūmis, perkelia kiekvieną sveikojo skaičiaus bitą kairėn arba dešinėn k pozicijų w bitų registre, apsukdamas bitus, išeinančius iš vieno galo, į kitą. Sumažinkite k iki k mod w, tada loginiu ARBA sujunkite pastumtą reikšmę su apsisukusiais bitais ir uždėkite w bitų kaukę. Išvestis rodoma dešimtaine, dvejetaine ir šešioliktaine sistema.

Formulė
ROL: r = ((n << k) | (n >> (w − k))) & kaukė; ROR: r = ((n >> k) | (n << (w − k))) & kaukė; kaukė = (1 << w) − 1
How this is calculated

Pasukimas (dar vadinamas cikliniu ar būgniniu postūmiu) perkelia kiekvieną reikšmės n bitą k pozicijų fiksuoto pločio w registre. Skirtingai nuo paprasto postūmio, bitai, išstumti iš vieno galo, nepradingsta – jie vėl įeina priešingame gale, todėl nustatytų bitų skaičius niekada nesikeičia. Pasirinkite plotį (8, 16, 32 arba 64), atitinkantį modeliuojamą registrą; n turi būti neneigiamas ir telpti tame plotyje.

Skaičiuoklė pirmiausia sumažina pasukimo dydį iki k mod w, nes pasukimas per visą plotį grąžina pradinę reikšmę. Pasukimas kairėn sujungia (n << k) su apsisukusiais bitais (n >> (w − k)), tada rezultatui uždeda kaukę (1 << w) − 1, kad liktų tik žemieji w bitai. Pasukimas dešinėn yra veidrodinis atvaizdas, naudojantis (n >> k) ir (n << (w − k)). Visi veiksmai atliekami su savavališko tikslumo sveikaisiais skaičiais (BigInt), todėl 64 bitų reikšmės išlieka tikslios.

Išvestis rodoma dešimtaine, kaip nuliais užpildyta w bitų dvejetainė eilutė ir šešioliktaine sistema, papildyta iki registro pločio. Kraštutiniai atvejai: pasukimo dydis, kuris yra w kartotinis, palieka reikšmę nepakeistą, o reikšmė, netelpanti pasirinktame plotyje, atmetama. Bitų indeksai išskleidime žymimi su reikšmingiausiu bitu kairėje.

Dažnai užduodami klausimai

Loginis postūmis atmeta iš galo iškritusius bitus ir užpildo atlaisvintas pozicijas nuliais. Pasukimas (ciklinis postūmis) grąžina tuos bitus į kitą galą, todėl informacija neprarandama ir vienetinių bitų skaičius išlieka toks pat.

Pasukus w kartų w bitų registre kiekvienas bitas grįžta į pradinę poziciją. Skaičiuoklė taiko k mod w, todėl pasukimas 8 8-bitų registre, taip pat 16, 24 ir t. t., prilygsta pasukimui per 0.

Reikšmė turi būti išreiškiama w bitais (nuo 0 iki 2^w − 1). Jei n didesnis, padidinkite registrą arba sumažinkite n; skaičiuoklė jo tyliai nenukirps.

Taip pat žinomas kaip

bitų sukimas
ciklinis poslinkis
rotate left right
bitų pasukimas
rol ror
circular shift
bitų rotacija

APA

TG we-Calculate Editorial Team. (2026). Bitų pasukimo skaičiuoklė (ciklinis postūmis) [Online calculator]. TG we-Calculate. https://we-calculate.com/lt/calculator/bit-rotate-calculator

Chicago

TG we-Calculate Editorial Team. "Bitų pasukimo skaičiuoklė (ciklinis postūmis)." TG we-Calculate. 2026. https://we-calculate.com/lt/calculator/bit-rotate-calculator.

IEEE

TG we-Calculate Editorial Team, "Bitų pasukimo skaičiuoklė (ciklinis postūmis)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/lt/calculator/bit-rotate-calculator

BibTeX

@misc{wecalculate_bit_rotate_calculator, title = {Bitų pasukimo skaičiuoklė (ciklinis postūmis)}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/lt/calculator/bit-rotate-calculator}}, year = {2026}, note = {TG we-Calculate} }

Ar ši skaičiuoklė jums padėjo?