Intermediate

位旋转计算器(循环移位)

在 8、16、32 或 64 位寄存器内对整数执行循环位旋转(桶形移位)。
Non-negative integer that fits in the chosen width

bits

换算方向

Bit width

Rotated value (binary)
10010110
十进制
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.
结果仅为一般参考性的估算,并非专业建议——在依赖这些重要结果之前,请务必自行独立核实。 阅读完整免责声明.
快速解答

这个计算器是如何工作的?

位旋转(或循环移位)将整数的每一位在 w 位寄存器内向左或向右移动 k 个位置,从一端移出的位从另一端回绕。将 k 缩减为 k mod w,然后将移位值与回绕位进行或运算,再屏蔽至 w 位。输出以十进制、二进制和十六进制显示。

公式
ROL: r = ((n << k) | (n >> (w − k))) & mask; ROR: r = ((n >> k) | (n << (w − k))) & mask; mask = (1 << w) − 1
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;计算器不会静默截断。

也称为

循环移位
位旋转
循环左移
循环右移
比特旋转
rol ror
位循环移位

APA

TG we-Calculate Editorial Team. (2026). 位旋转计算器(循环移位) [Online calculator]. TG we-Calculate. https://we-calculate.com/zh/calculator/bit-rotate-calculator

Chicago

TG we-Calculate Editorial Team. "位旋转计算器(循环移位)." TG we-Calculate. 2026. https://we-calculate.com/zh/calculator/bit-rotate-calculator.

IEEE

TG we-Calculate Editorial Team, "位旋转计算器(循环移位)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/zh/calculator/bit-rotate-calculator

BibTeX

@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} }

这个计算器对您有帮助吗?