写一个函数返回参数二进制中 1 的个数,提示:使用位操作符:按位与&

来源:互联网 发布:淘宝如何做展现词 编辑:程序博客网 时间:2024/06/06 01:05
#define _CRT_SECURE_NO_WARNINGS -1#include <stdio.h>#include <windows.h>int  count_one_bits(unsigned int value)// 返回 1的位数{    int count = 0;    while (value)    {        value = value&(value - 1);        count++;                     }    return count;}int main(){    printf("请输入一个无符号的整型数字:\n");    unsigned int num = 0;    scanf("%d",&num);    printf("1的个数有 %d 个\n",count_one_bits(num));    system("pause");    return 0;}

例如:15 :0000 1111 共4个1
运行结果:
这里写图片描述