Bit-rotationsräknare (cirkulär shift)
Utför en cirkulär bitrotation (barrel shift) av ett heltal åt vänster eller höger inom ett 8-, 16-, 32- eller 64-bitars register.
bits
Riktning
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.
Hur fungerar denna kalkylator?
En bitrotation, eller cirkulär shift, flyttar varje bit hos ett heltal åt vänster eller höger med k positioner inuti ett w-bitars register, och bitar som lämnar ena änden återkommer på den andra. Reducera k med k mod w, OR:a sedan det förskjutna värdet med de omrundade bitarna och maskera till w bitar. Utdata visas i decimal, binär och hex.
Formel
How this is calculated
En rotation (även kallad cirkulär eller barrel shift) flyttar varje bit hos värdet n med k positioner inuti ett register med den fasta bredden w. Till skillnad från en vanlig shift kasseras inte bitar som skjuts bort från ena sidan — de återinförs på motsatt sida, så det totala antalet ettor ändras aldrig. Välj den bredd (8, 16, 32 eller 64) som matchar det register du modellerar; n måste vara icke-negativt och passa inom den bredden.
Räknaren reducerar först rotationsmängden med k mod w, eftersom rotation med hela bredden återger det ursprungliga värdet. En vänsterrotation kombinerar (n << k) med de omrundade bitarna (n >> (w − k)), och maskerar sedan resultatet med (1 << w) − 1 för att behålla enbart de låga w bitarna. En högerrotation är spegelbilden och använder (n >> k) och (n << (w − k)). All aritmetik görs med godtyckliga precisionens heltal (BigInt) så att 64-bitars värden förblir exakta.
Utdata visas i decimal, som en nollutfylld w-bitars binärsträng och i hexadecimal utfylld till registerbredden. Kantfall: ett rotationsbelopp som är en multipel av w lämnar värdet oförändrat, och ett värde som inte passar i den valda bredden avvisas. Bitindex i uppdelningen är märkta med den mest signifikanta biten till vänster.
Vanliga frågor
En logisk shift kasserar de bitar som faller bort från sidan och fyller de frilagda positionerna med nollor. En rotation (cirkulär shift) matar tillbaka dessa bitar i den andra änden, så ingen information går förlorad och antalet satta bitar förblir detsamma.
Att rotera w gånger i ett w-bitars register återför varje bit till sin ursprungliga position. Räknaren tillämpar k mod w, så en rotation med 8 i ett 8-bitars register, eller 16, 24 och så vidare, är ekvivalent med att rotera med 0.
Värdet måste vara representerat i w bitar (mellan 0 och 2^w − 1). Om n är större, bredda registret eller minska n; räknaren kastar inte tyst bort bitar.
Även känt som
TG we-Calculate Editorial Team. (2026). Bit-rotationsräknare (cirkulär shift) [Online calculator]. TG we-Calculate. https://we-calculate.com/sv/calculator/bit-rotate-calculator
TG we-Calculate Editorial Team. "Bit-rotationsräknare (cirkulär shift)." TG we-Calculate. 2026. https://we-calculate.com/sv/calculator/bit-rotate-calculator.
TG we-Calculate Editorial Team, "Bit-rotationsräknare (cirkulär shift)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/sv/calculator/bit-rotate-calculator
@misc{wecalculate_bit_rotate_calculator, title = {Bit-rotationsräknare (cirkulär shift)}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/sv/calculator/bit-rotate-calculator}}, year = {2026}, note = {TG we-Calculate} }
Hjälpte denna kalkylator dig?
