欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

计算数num的二进制表示中1的个数

程序员文章站 2024-03-16 16:14:10
...

如果num是奇数,那么它等于num/2的二进制表示中1的个数加1.

#include <iostream>

using namespace std;

int number_of_one(int num)
{
    if (num < 2)
        return num;
    return number_of_one(num / 2) + num % 2;
}

int main()
{
    int num;
    cin >> num;
    cout << number_of_one(num) << endl;
    return 0;
}