Intermediate

Kalkulačka rotace bitů (cyklický posun)

Proveďte cyklickou rotaci bitů (barrel shift) celého čísla doleva nebo doprava v rámci 8-, 16-, 32- nebo 64bitového registru.
Non-negative integer that fits in the chosen width

bits

Směr

Bit width

Rotated value (binary)
10010110
Desetinné
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.
Výsledky jsou pouze orientační odhady pro obecné informační účely a nejsou odborným poradenstvím — důležité výsledky si vždy nezávisle ověřte, než se na ně spolehnete. Přečíst si úplné právní upozornění.
Rychlá odpověď

Jak tato kalkulačka funguje?

Rotace bitů neboli cyklický posun přesouvá každý bit celého čísla doleva nebo doprava o k pozic v rámci w-bitového registru a obtáčí bity z jednoho konce zpět na druhý. Zredukujte k pomocí k mod w, poté použijte OR na posunutou hodnotu s obtočenými bity a maskujte na w bitů. Výstup se zobrazí v desítkové, binární a šestnáctkové soustavě.

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

Rotace (nazývaná také cyklický nebo barrel shift) přesouvá každý bit hodnoty n o k pozic v rámci registru pevné šířky w. Na rozdíl od běžného posunu se bity vytlačené z jednoho konce nezahazují — znovu vstupují na opačném konci, takže celkový počet nastavených bitů se nikdy nemění. Zvolte šířku (8, 16, 32 nebo 64) odpovídající registru, který modelujete; n musí být nezáporné a vejít se do dané šířky.

Kalkulačka nejprve zredukuje velikost rotace pomocí k mod w, protože rotace o plnou šířku vrací původní hodnotu. Rotace doleva kombinuje (n << k) s bity, které se obtočily, (n >> (w − k)), poté výsledek maskuje pomocí (1 << w) − 1, aby ponechala jen spodních w bitů. Rotace doprava je zrcadlovým obrazem, používá (n >> k) a (n << (w − k)). Veškerá aritmetika se provádí s celými čísly s libovolnou přesností (BigInt), takže 64bitové hodnoty zůstávají přesné.

Výstup se zobrazí v desítkové soustavě, jako w-bitový binární řetězec doplněný nulami a v šestnáctkové soustavě doplněný na šířku registru. Okrajové případy: velikost rotace, jež je násobkem w, ponechá hodnotu beze změny a hodnota, která se do zvolené šířky nevejde, se odmítne. Indexy bitů v rozpisu jsou označeny s nejvýznamnějším bitem vlevo.

Často kladené otázky

Logický posun zahodí bity, které spadnou z konce, a uvolněné pozice vyplní nulami. Rotace (cyklický posun) tyto bity vrátí zpět na druhém konci, takže se neztratí žádná informace a počet jedničkových bitů zůstane stejný.

Rotace w-krát ve w-bitovém registru vrátí každý bit na jeho původní pozici. Kalkulačka aplikuje k mod w, takže rotace o 8 v 8bitovém registru, nebo o 16, 24 a tak dále, je ekvivalentní rotaci o 0.

Hodnota musí být reprezentovatelná ve w bitech (mezi 0 a 2^w − 1). Pokud je n větší, rozšiřte registr nebo zmenšete n; kalkulačka jej tiše neořízne.

Také známé jako

rotace bitů
cyklický posun
rotace vlevo vpravo
rol ror
kruhový posun bitů
bitová rotace
rotace bitů kalkulačka

APA

TG we-Calculate Editorial Team. (2026). Kalkulačka rotace bitů (cyklický posun) [Online calculator]. TG we-Calculate. https://we-calculate.com/cs/calculator/bit-rotate-calculator

Chicago

TG we-Calculate Editorial Team. "Kalkulačka rotace bitů (cyklický posun)." TG we-Calculate. 2026. https://we-calculate.com/cs/calculator/bit-rotate-calculator.

IEEE

TG we-Calculate Editorial Team, "Kalkulačka rotace bitů (cyklický posun)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/cs/calculator/bit-rotate-calculator

BibTeX

@misc{wecalculate_bit_rotate_calculator, title = {Kalkulačka rotace bitů (cyklický posun)}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/cs/calculator/bit-rotate-calculator}}, year = {2026}, note = {TG we-Calculate} }

Pomohla vám tato kalkulačka?