c语言左循环右循环,c语言左右循环移位

c语言左右循环移位

编写一函数用来实现左右循环移位。

函数名为move,调用方法为move(value,n); 其中value 为要循环位移的数,n 为位移的位数,

如n < 0 表示为左移; n > 0 为右移;如n = 4 表示要右移4 位,n = -3 表示要左移3 位。

代码如下:

#include unsigned short moveleft(unsigned short ,int); unsigned short moveright(unsigned short,int); int main(int argc, char *argv[]) { unsigned short a; int n; printf("input an octal number:"); scanf("%o",&a); printf("input n:"); scanf("%d",&n); if (n > 0) { printf("result:%o\n",moveright(a,n)); } else { n = -n; printf("result:%o\n",moveleft(a,n)); } system("pause"); } unsigned short moveleft(unsigned short value,int n) { unsigned short z; z = (value >> (16 - n)) | (value << n); return z; } unsigned short moveright(unsigned short value ,int n) { unsigned short z; z = (value >> n) | (value << (16 - n)); return z; }

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值