代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int CountOneBits(unsigned int value)
{
//1.转换为二进制,即对2反向取模 由于本程序只是求取1的个数,所以不考虑方向
//2.若模为二,则计数加1
//定义计数值
int count=0 ;
int num;
while (value != 0){
num = value % 2;
if (num == 1){
count += 1;
}
value /= 2;
}
return count;
}
int main(){
int num;
printf("请输入一个数字:\n");
scanf("%d", &num);
printf("1的个数为%d\n",CountOneBits(num));
system("pause");
return 0;
}
运行结果: