高效的算法:
X=X&(X-1)
程序如下:
#include<iostream>
using namespace std;
int fun(int x)
{
int count=0;
while (x)
{
count++;
x=x&(x-1);
}
return count;
}
int main(int argc, char* argv[])
{
int x;
cout<<"输入x值:";
cin>>x;
cout<<"数值"<<x<<"有"<<fun(x)<<"个1"<<endl;
return 0;
}