写一个函数返回参数二进制中 1 的个数比如: 15 0000 1111 4 个 1

xiaoxiao2025-08-30  11

     运行环境: win10  vs2013

        通常我们从数字键盘输入的数字是10进制的数,所以在统计某一个数字二进制中有多少个一时,就需要先将10进制的数转换为二进制,而十进制转换为二进制最简单的就是对这个数字进行除二运算,在除二运算完后然后对他进行模二运算,如果模二运算的结果等于一,那么就对其进行加一统计,直到所有数字统计完成后,进行输出即可

程序实现:

程序运行结果测试:

 

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int count_one_bits(unsigned int value) { int count= 0; while (value)//value为0时跳出循环 { if (value % 2) count++; value = value / 2; } return count; } int main() { int i = 0; int result = 0; printf("请输入一个正数:"); scanf("%d", &i); result = count_one_bits(i); printf("result=%d\n", result); system("pause"); return 0; }

 

转载请注明原文地址: https://www.6miu.com/read-5035470.html

最新回复(0)