标签:编程之美
<span style="font-size:14px;">#include <iostream>
using namespace std;
int main(void)
{
int n,m;
m=0;
cin>>n;
while(n)
{
if(n%2) //如果n不能整除2,说明当前n的末尾数为1
m++;
n>>=1; //n右移1位,即n/2
}
cout<< m <<endl;
return 0;
}</span><span style="font-size:14px;">#include <iostream>
using namespace std;
int main(void)
{
// 使用位操作,1 和 二进制的最后一位进行 与(&) 运算
int n,i,m;
m=0;
i=0x1;
cin>>n;
while(n)
{
m+=(n&i);
n>>=1;
}
cout << m <<endl;
return 0;
}</span><span style="font-size:14px;">#include <iostream>
using namespace std;
int main(void)
{
int n,m;
m=0;
cin>>n;
while(n)
{
n&=(n-1);
m++;
}
cout << m <<endl;
return 0;
}</span>标签:编程之美
原文地址:http://blog.csdn.net/u011694809/article/details/46122895