发布网友 发布时间:2022-04-22 06:50
共1个回答
热心网友 时间:2022-06-16 21:46
在低级语言中有直接实现循环移位的指令,C语言没有循环移位的运算符,但可以利用已有的位运算符实现循环移位。
所谓循环移位是指在移位时不丢失移位前原范围的位,而是将它们作为另一端的补入位。
例如循环右移n位,指各位右移n位,原来的低n位变成高n位,指各位右移n位,原来的低n位变成高n位,可以用以下步骤实现:
(1)使a中各位左移(16-n)位,使右端的n位放到b中的高n位中。其余各位补0,可用下面语句实现。
b=a>n;
(3)按位“或”具有组合两个数的某些位的作用,使b与c进行按位“或”运算,
即:c=c|b。