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.
bits
Retning
Bit width
- 1
Effective rotate amount
3 mod 8 = 3 - 2
Rotate left
(210 << 3) | (210 >> (8 − 3)) = 150Bits leaving one end reappear at the other; result masked to 8 bits.
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
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
TG we-Calculate Editorial Team. (2026). Bitrotationsberegner (cirkulær forskydning) [Online calculator]. TG we-Calculate. https://we-calculate.com/da/calculator/bit-rotate-calculator
TG we-Calculate Editorial Team. "Bitrotationsberegner (cirkulær forskydning)." TG we-Calculate. 2026. https://we-calculate.com/da/calculator/bit-rotate-calculator.
TG we-Calculate Editorial Team, "Bitrotationsberegner (cirkulær forskydning)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/da/calculator/bit-rotate-calculator
@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?
