我总是想知道一些CPU具有旋转指令的目的是什么(例如,ROL,x86上的RCL).什么样的软件使用这些说明?我首先想到它们可能用于加密/计算哈希码,但这些库通常用C编写,它没有映射到这些指令的运算符.
有没有人找到他们的用途?为什么他们在指令集中添加了哪些内容?
以下代码如何工作以及变量的含义:
y = (x << shift) | (x >> (sizeof(x)*CHAR_BIT - shift));
Run Code Online (Sandbox Code Playgroud)
我在循环转换文章中找到了但没有解释它是如何工作的.
循环左进位和循环右进位指令有哪些实际用途?
在我的汇编课上,我们无法想出一个有用的好例子。
我想知道一些循环移位的应用实例.例如,无符号整数的右移将导致除以2.相反,左移将导致乘以2.是否存在二进制数的循环移位的任何着名/有趣属性.
注意:右/左移位的示例是说明该特定运算符的应用.我要求循环移位操作符/功能的类似示例.