题目描述:
任意给定一个32位整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4
int countOneNum(int n) { if(n==0) { return 0; } int num=0; while(n) { num++; int m=n-1; n=n&m; } return num; }
原文:http://blog.csdn.net/richard_rufeng/article/details/19292493