1.程序代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <Windows.h>
int count_one_bits(unsigned int value)//定义一个函数 计算二进制中1的个数
{
int count = 0;//定义一个参数 作为计数器 初始化为0
while (value)//while循环 直到该数字的零为止
{
if (value & 1 == 1)
count++;//if语句判断这个数字和1相与是否为1 若是 给计数器加一
value = value>>1;//向右移一位 相当于用该数字除2
}
return count;//函数返回计数器的值
}
int main()
{
int num = 0;
int c = 0;//定义两个参数 num作为要输入的值 c存储自定义函数执行的结果
printf("请输入一个数字:");
scanf("%d",&num);
c = count_one_bits(num);//把函数执行结果赋给c
printf("二进制中1的个数为:%d\n", c);
system("pause");
return 0;
}
2.执行结果
例如输入:15