统计非负整数二进制展开中数位1的总数

2019-11-27  本文已影响0人  鹿与云与雨

统计非负整数二进制展开中数位1的总数。如整数64 的二进制展开为00000000 00000000 00000000 00100000 ,数位1的总数为1。

#include<iostream>
using namespace std;

long long int caculate(long long int n)
{
    long long int result = 0;
    while (0 < n)
    {
        result++;
        n = n & (n - 1);
    }
    return result;
}

int main()
{
    long long int o;
    cin >> o;
    cout << caculate(o);
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读