位旋转计算器(循环移位)
在 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 缩减为 k mod w,然后将移位值与回绕位进行或运算,再屏蔽至 w 位。输出以十进制、二进制和十六进制显示。
公式
How this is calculated
旋转(也称为循环或桶形移位)将值 n 的每一位在固定宽度 w 的寄存器内移动 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/calculator/bit-rotate-calculator
TG we-Calculate Editorial Team. "位旋转计算器(循环移位)." TG we-Calculate. 2026. https://we-calculate.com/zh/calculator/bit-rotate-calculator.
TG we-Calculate Editorial Team, "位旋转计算器(循环移位)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/zh/calculator/bit-rotate-calculator
@misc{wecalculate_bit_rotate_calculator, title = {位旋转计算器(循环移位)}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/zh/calculator/bit-rotate-calculator}}, year = {2026}, note = {TG we-Calculate} }
这个计算器对您有帮助吗?
