華爲機試題--13.求int型數據在內存中存儲時1的個數

題目描述

輸入一個int型數據,計算出該int型數據在內存中存儲時1的個數。

輸入描述:
輸入一個整數(int類型)

輸出描述:
這個數轉換成2進制後,輸出1的個數

輸入例子:
5

輸出例子:
2

有多少個除二於1的情況

/*
輸入一個int型數據,計算出該int型數據在內存中存儲時1的個數。
*/
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

unsigned Solution(int in)
{
    unsigned count=0;
    while (in / 2 != 0)
    {
        if (in % 2 == 1)
            ++count;
        in /= 2;
    }
    if (in % 2 == 1)
        ++count;
    return count;
}

int main()
{
    int num;
    while (cin >> num)
    {
        cout<<Solution(num);
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章