Intermediate

Bitu rotācijas kalkulators (cikliska nobīde)

Veiciet veselā skaitļa ciklisku bitu rotāciju (mucas nobīdi) pa kreisi vai pa labi 8, 16, 32 vai 64 bitu reģistrā.
Non-negative integer that fits in the chosen width

bits

Virziens

Bit width

Rotated value (binary)
10010110
Decimāls
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.
Rezultāti ir aplēses tikai vispārējai informācijai un nav profesionāls padoms — vienmēr neatkarīgi pārbaudiet svarīgus rezultātus, pirms uz tiem paļaujaties. Lasīt pilnu atrunu.
Ātrā atbilde

Kā darbojas šis kalkulators?

Bitu rotācija jeb cikliska nobīde pārvieto katru veselā skaitļa bitu pa kreisi vai pa labi par k pozīcijām w bitu reģistrā, aptinot bitus no viena gala atpakaļ uz otru. Samaziniet k līdz k mod w, pēc tam izpildiet nobīdītās vērtības OR ar aptītajiem bitiem un maskējiet līdz w bitiem. Iznākums tiek parādīts decimālā, binārā un heksadecimālā formā.

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

Rotācija (saukta arī par ciklisko vai mucas nobīdi) pārvieto katru vērtības n bitu par k pozīcijām fiksēta platuma w reģistrā. Atšķirībā no vienkāršas nobīdes, biti, kas izstumti no viena gala, netiek atmesti — tie atgriežas pretējā galā, tāpēc iestatīto bitu kopskaits nemainās. Izvēlieties platumu (8, 16, 32 vai 64), kas atbilst modelējamajam reģistram; n jābūt nenegatīvam un jāietilpst šajā platumā.

Kalkulators vispirms samazina rotācijas apjomu ar k mod w, jo rotācija par pilnu platumu atgriež sākotnējo vērtību. Rotācija pa kreisi apvieno (n << k) ar bitiem, kas aptinušies, (n >> (w − k)), pēc tam maskē rezultātu ar (1 << w) − 1, lai paturētu tikai zemos w bitus. Rotācija pa labi ir spoguļattēls, izmantojot (n >> k) un (n << (w − k)). Visi aprēķini tiek veikti ar patvaļīgas precizitātes veseliem skaitļiem (BigInt), tāpēc 64 bitu vērtības paliek precīzas.

Iznākums tiek parādīts decimālā formā, kā ar nullēm papildināta w bitu binārā virkne un heksadecimālā formā, papildināta līdz reģistra platumam. Robežgadījumi: rotācijas apjoms, kas ir w daudzkārtnis, atstāj vērtību nemainīgu, un vērtība, kas neietilpst izvēlētajā platumā, tiek noraidīta. Bitu indeksi sadalījumā ir apzīmēti ar nozīmīgāko bitu pa kreisi.

Biežāk uzdotie jautājumi

Loģiskā nobīde atmet bitus, kas izkrīt no gala, un atbrīvotās pozīcijas aizpilda ar nullēm. Rotācija (cikliska nobīde) šos bitus ievada atpakaļ otrā galā, tāpēc informācija netiek zaudēta un iestatīto bitu skaits paliek nemainīgs.

Rotācija w reizes w bitu reģistrā atgriež katru bitu tā sākotnējā pozīcijā. Kalkulators piemēro k mod w, tāpēc rotācija par 8 8 bitu reģistrā vai par 16, 24 utt. ir ekvivalenta rotācijai par 0.

Vērtībai jābūt attēlojamai w bitos (no 0 līdz 2^w − 1). Ja n ir lielāks, paplašiniet reģistru vai samaziniet n; kalkulators to klusi nenogriezīs.

Pazīstams arī kā

bitu rotācija
ciklisks bīdījums
rotēt pa kreisi pa labi
bitu rotēšana
rol ror
bit rotate

APA

TG we-Calculate Editorial Team. (2026). Bitu rotācijas kalkulators (cikliska nobīde) [Online calculator]. TG we-Calculate. https://we-calculate.com/lv/calculator/bit-rotate-calculator

Chicago

TG we-Calculate Editorial Team. "Bitu rotācijas kalkulators (cikliska nobīde)." TG we-Calculate. 2026. https://we-calculate.com/lv/calculator/bit-rotate-calculator.

IEEE

TG we-Calculate Editorial Team, "Bitu rotācijas kalkulators (cikliska nobīde)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/lv/calculator/bit-rotate-calculator

BibTeX

@misc{wecalculate_bit_rotate_calculator, title = {Bitu rotācijas kalkulators (cikliska nobīde)}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/lv/calculator/bit-rotate-calculator}}, year = {2026}, note = {TG we-Calculate} }

Vai šis kalkulators jums palīdzēja?