给出一个16位的二进制数

来源:互联网 发布:如何装修出租屋知乎 编辑:程序博客网 时间:2024/06/05 19:07

给出一个16位的二进制数, 求每四位相加的和
例: 1111 1011 0111 0101 = 1111 + 1011 + 111 + 101 = 2334

void get_sum(int a){        int i = 0;        int sum = 0;        int num = 1;        for(i = 0; i < 16; i++)        {                sum += (a % 2) * num;                num *= 10;                if(num == 10000)                {                        num = 1;                }                if((a /= 2) == 0)                {                        break;                }        }        printf("%d\n", sum);}
0 0