标签:编程之美
<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