位运算:循环移位。

来源:互联网 发布:工厂模式编写js 编辑:程序博客网 时间:2024/06/05 11:59

需求:要求将a向右n位,最右端的n位则移到最左边的n位。

分析:移位操作,考虑使用位运算来实现。可以先保留低n位,对a进行右移操作,之后把高n位与低32-n位或运算即可。


实现:

 void main(int argc,char *argv[]){int a,b,n;scanf("%d %d",&a,&n);printf("a=%0x\n",a);b=a<<(32-n);a>>=n;a=a|b;printf("a=%0x\n",a);}


0 0