求64位整型n,中各个bit位是1的个数

来源:互联网 发布:js百叶窗 编辑:程序博客网 时间:2024/05/16 19:41
#include <iostream>
#include<vector>
using namespace std;

int count(long long v)
{
    int num=0;
    while(v)
    {
        v &=(v-1);//执行效率为V中1的个数,时间复杂度比通过除操作、位操作比较高出很多
        num++;
    }
    return num;
}

int main()
{

    cout<<"输入需要计算的数 :" <<endl;
    int n;
    cin>>n;
    cout<< "The 1 bit number is :  "<< count(n);

}