位元旋轉計算器(循環移位)
在 8、16、32 或 64 位元暫存器內對整數進行循環位元旋轉(桶形移位)。
bits
換算方向
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.
此計算機如何運作?
位元旋轉(即循環移位)在 w 位元暫存器內將整數的每個位元向左或向右移動 k 個位置,移出一端的位元繞回到另一端。以 k mod w 縮減 k,然後將移位值與繞回的位元 OR 並遮罩到 w 位元。輸出以十進制、二進制和十六進制顯示。
公式
How this is calculated
旋轉(也稱為循環移位或桶形移位)在固定寬度 w 的暫存器內將值 n 的每個位元移動 k 個位置。與普通移位不同,移出一端的位元不會被丟棄——它們從另一端重新進入,因此設定位元的總數永遠不會改變。選擇與您所建模暫存器相匹配的寬度(8、16、32 或 64);n 必須為非負數且在該寬度內。
計算器首先以 k mod w 縮減旋轉量,因為旋轉整個寬度會返回原始值。左旋轉將 (n << k) 與繞回的位元 (n >> (w − k)) 組合,然後用 (1 << w) − 1 遮罩結果,僅保留低 w 位元。右旋轉是其鏡像,使用 (n >> k) 和 (n << (w − k))。所有算術使用任意精度整數(BigInt),以確保 64 位元值保持精確。
輸出以十進制、零填充的 w 位元二進制字串和填充到暫存器寬度的十六進制顯示。邊界情況:旋轉量是 w 的倍數時值不變;不適合所選寬度的值將被拒絕。分解中的位元索引以最高有效位元在左的方式標記。
常見問題
邏輯移位會丟棄移出末端的位元,並用零填充空出的位置。旋轉(循環移位)將這些位元從另一端送回,因此不會丟失任何資訊,且設定位元的數量(漢明重量)保持不變。
在 w 位元暫存器中旋轉 w 次,每個位元都回到其原始位置。計算器使用 k mod w,因此在 8 位元暫存器中旋轉 8,或 16、24 等,等同於旋轉 0。
值必須在 w 位元內可表示(介於 0 和 2^w − 1 之間)。若 n 更大,請擴大暫存器或縮小 n;計算器不會靜默截斷。
也稱為
TG we-Calculate Editorial Team. (2026). 位元旋轉計算器(循環移位) [Online calculator]. TG we-Calculate. https://we-calculate.com/zh-tw/calculator/bit-rotate-calculator
TG we-Calculate Editorial Team. "位元旋轉計算器(循環移位)." TG we-Calculate. 2026. https://we-calculate.com/zh-tw/calculator/bit-rotate-calculator.
TG we-Calculate Editorial Team, "位元旋轉計算器(循環移位)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/zh-tw/calculator/bit-rotate-calculator
@misc{wecalculate_bit_rotate_calculator, title = {位元旋轉計算器(循環移位)}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/zh-tw/calculator/bit-rotate-calculator}}, year = {2026}, note = {TG we-Calculate} }
這個計算機對您有幫助嗎?
