文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C程序习题-实现左右循环移位[12.4]

C程序习题-实现左右循环移位[12.4]

时间:2010-09-25  来源:chengxiaopeng

    编写一函数用来实现左右循环移位。函数名为move,调用方法为move(value,n);其中value为要循环位移的数,n为位移的位数,如n < 0表示为左移; n > 0为右移;如n = 4表示要右移4位,n = -3表示要左移3位。     代码如下:

#include <stdio.h>
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;
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载