文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C程序习题-取出某几位数[12.1]

C程序习题-取出某几位数[12.1]

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

    编写一个函数getbits,从一个16位的单元中取出某几位(即该几位保留原值,其余位为0)。函数的调用形式为 getbits(value,n1,n2);value为该16位(2个字节)中的数据值,n1为欲取出的起始位,n2为欲取出的结束位,例如getbits(0101675,5,8)表示对八进制101675这个数,取出它的从左面起第5位到第8位。    代码如下:

#include <stdio.h>

unsigned short int getbits(unsigned short value,int n1,int n2);
int main(int argc,char *argv[])
{
    unsigned short int a;
    int n1,n2;
    printf("input an octal number:");
    scanf("%o",&a);
    printf("input n1,n2:");
    scanf("%d,%d",&n1,&n2);
    printf("result:%o\n",getbits(a,n1,n2));
    system("pause");
    return 0;
}
unsigned short int getbits(unsigned short value,int n1,int n2)
{
         unsigned short int z;
         z = ~0;
         z = (z >> n1) & (z << (16-n2));
         z = value & z;
         z = z >> (16 - n2);
         return z;
}


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

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载