您的位置:首页 > 职场人生

24. 微软面试题:整数的二进制表示中1的个数

2014-03-13 23:01 323 查看
题目:输入一个整数,求该整数的二进制表达中有多少个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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐