求某二进制数中1的个数

来源:互联网 发布:微信打开淘宝链接 原理 编辑:程序博客网 时间:2024/06/08 06:24

描述题目:

求某二进制数中1的个数。

给定一个unsignedint型的正整数,求其二进制表示中“1”的个数,要求算法的执行效率尽可能地高。

详细描述:

原型:intGetCount(unsigned int num)

输入参数:num     给定的正整数

输出参数(指针指向的内存区域保证有效):无

返回值:返回1的个数

举例:

输入13,则对应的二进制是1101,那么1的个数为3个。则:返回3。

代码:

#include <iostream>using namespace std;int GetCount(unsigned int num){int yu, count = 0;while (num > 0){if (num % 2){count++;}num /= 2;}return count;}int main(){int num;cin >> num;cout << GetCount(num) << endl;cin.get();cin.get();return 0;}

0 0
原创粉丝点击