因此,为了解决这样的问题,我将其最小化为一个问题:我必须执行哪些步骤才能仅使用4位来旋转32位数字。如果你想一想,32位数包含8个组,每组4位,所以如果要旋转的位数是4,那么将在组0 and 4,1 and 5,2 and 6,3 and 7之间进行交换,之后完成旋转。如果要旋转的位小于4且大于0,则只需保留最后的N位并开始移位或循环,例如,假设我们有数字0x9CE2向左旋转3位,我们将执行以下操作:
小端二进制中的数字是1001 1100 1110 0010,每个半字节从右到左索引从] <- 11