Intermediate

Bitrotationsberegner (cirkulær forskydning)

Udfør en cirkulær bitrotation (barrel-forskydning) af et heltal til venstre eller højre inden for et 8-, 16-, 32- eller 64-bit-register.
Non-negative integer that fits in the chosen width

bits

Retning

Bit width

Rotated value (binary)
10010110
Decimal
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.
Resultaterne er skøn, der kun gives til generel information og er ikke professionel rådgivning — verificér altid vigtige resultater uafhængigt, før du forlader dig på dem. Læs hele ansvarsfraskrivelsen.
Hurtigt svar

Hvordan fungerer denne lommeregner?

En bitrotation, eller cirkulær forskydning, flytter hver bit i et heltal til venstre eller højre med k positioner inden for et w-bit-register, idet bit, der forlader den ene ende, wrapper tilbage til den anden. Reducer k med k mod w, læg derefter den forskudte værdi sammen med OR med de wrappede bit og maskér til w bit. Output vises i decimal, binær og heksadecimal.

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

En rotation (også kaldet en cirkulær eller barrel-forskydning) flytter hver bit i værdien n med k positioner inden for et register med fast bredde w. I modsætning til en almindelig forskydning kasseres bit, der skubbes ud af den ene ende, ikke — de kommer ind igen i den modsatte ende, så det samlede antal satte bit aldrig ændrer sig. Vælg den bredde (8, 16, 32 eller 64), der svarer til det register, du modellerer; n skal være ikke-negativ og passe inden for den bredde.

Beregneren reducerer først rotationsmængden med k mod w, da rotation med den fulde bredde returnerer den oprindelige værdi. En rotation til venstre kombinerer (n << k) med de bit, der wrappede rundt, (n >> (w − k)), og maskerer derefter resultatet med (1 << w) − 1 for kun at beholde de lave w bit. En rotation til højre er spejlbilledet og bruger (n >> k) og (n << (w − k)). Al aritmetik udføres med heltal af vilkårlig præcision (BigInt), så 64-bit-værdier forbliver eksakte.

Output vises i decimal, som en nul-udfyldt w-bit binær streng og i heksadecimal udfyldt til registerbredden. Specialtilfælde: en rotationsmængde, der er et multiplum af w, lader værdien være uændret, og en værdi, der ikke passer i den valgte bredde, afvises. Bitindekser i opdelingen er mærket med den mest betydende bit til venstre.

Ofte stillede spørgsmål

En logisk forskydning kasserer de bit, der falder ud af enden, og fylder de tomme positioner med nuller. En rotation (cirkulær forskydning) fører disse bit tilbage ind i den anden ende, så ingen information går tabt, og bitantallet forbliver det samme.

At rotere w gange i et w-bit-register fører hver bit tilbage til sin oprindelige position. Beregneren anvender k mod w, så en rotation på 8 i et 8-bit-register, eller 16, 24 og så videre, svarer til at rotere med 0.

Værdien skal kunne repræsenteres i w bit (mellem 0 og 2^w − 1). Hvis n er større, så udvid registeret eller reducer n; beregneren afkorter det ikke stiltiende.

Også kendt som

bit rotation
cirkulær skift
roter venstre roter højre
rol ror
roter bits
bit rotere
circular shift

APA

TG we-Calculate Editorial Team. (2026). Bitrotationsberegner (cirkulær forskydning) [Online calculator]. TG we-Calculate. https://we-calculate.com/da/calculator/bit-rotate-calculator

Chicago

TG we-Calculate Editorial Team. "Bitrotationsberegner (cirkulær forskydning)." TG we-Calculate. 2026. https://we-calculate.com/da/calculator/bit-rotate-calculator.

IEEE

TG we-Calculate Editorial Team, "Bitrotationsberegner (cirkulær forskydning)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/da/calculator/bit-rotate-calculator

BibTeX

@misc{wecalculate_bit_rotate_calculator, title = {Bitrotationsberegner (cirkulær forskydning)}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/da/calculator/bit-rotate-calculator}}, year = {2026}, note = {TG we-Calculate} }

Hjalp denne lommeregner dig?