文章详情

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

C程序习题-取出二进制数的奇位数[12.2]

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

    写一个函数,对一个16位的二进制数取出它的奇位数(即从左边起第1,3,5,7...15位)。     代码如下:

#include <stdio.h>

unsigned short getbits(unsigned short value);
int main(int argc,char *argv[])
{
    unsigned short int a;
    printf("input an octal number:");
    scanf("%o",&a);
    printf("result:%o\n",getbits(a));
    system("pause");
    return 0;
}

unsigned short getbits(unsigned short value)
{
    int i,j;
    unsigned short int z,a,q;
    z = 0;
    for (i = 1; i <= 15; i+=2)
    {
        q = 1;
        for (j = 1; j <= (16 - i - 1)/2; j++)
        {
            q *= 2;
        }
        a = value >> (16 - i);
        a <<= 15;
        a = a > 15;
        z += a * q;
    }
    return z;
}


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

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载