首先编写主函数
#include<stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
int n = count_num_of_1(num);
printf("%d\n", n);
return 0;
}
方法一、 对数取余除的方式获得二进制数字
由上图可知,我们通过取余和除的方法依次得到二进制数字,我们可以编写函数
int count_num_of_1(unsigned int x) {
int count = 0;
while (x)
{
if (x % 2 == 1)
{
count++;
}
x = x / 2;
}
return count;
}
运行代码:
测试正确。
方法二、运用位操作符的方法