0
点赞
收藏
分享

微信扫一扫

C语言习题4

RJ_Hwang 2022-01-10 阅读 48

使用C语言完成统计一个无符号32bit数的二进制位1的个数:
方法1:

int main()
{
unsigned int a;
char num =0;
scanf("%u",&a);
while(a)
{
     if(a&1)
     num=num+1; 
     a = a>>1;
}
printf("%d\n",num);
return 0;
}

方法2:

#include<stdio.h>
#include<stdlib.h>
int main()
{
unsigned int a;
unsigned long long b;
char num =0;
scanf("%u",&a);
for(int i=0;i<32;i++)
{
    b=a>>1;
    if(a !=b<<1)
    {
    num=num+1;
    }
    a=a>>1;
}
printf("%d\n",num);
return 0;
}

方法3:

unsigned int a;


char sum = 0;
while(a != 0)
{
if(a%2)
{
累加1
} 

举报

相关推荐

0 条评论