Welcome

首页 / 软件开发 / 数据结构与算法 / 微软面试题解析:整数的二进制表示中1的个数

微软面试题解析:整数的二进制表示中1的个数2014-12-25题目:输入一个整数,求该整数的二进制表达中有多少个1。

例如输入10,由于其二进制表示为1010,有两个1,因此输出2。

分析:

使用移位操作,来实现。

具体实现如下:

#include<iostream>using namespace std;int binary1num(int d){int cnt = 0;while(d/2 != 0){if(d%2 == 1) cnt ++;d = d/2;}if(d%2 == 1) cnt ++;return cnt;}int main(){cout << "10 has binary bit num: " << binary1num(10) << endl;return 0;}
输出如下:

10 has binary bit num: 2

作者:csdn博客 hhh3h