C代码 int test(int n) { int nCount = 0; while(n) { nCount++; n = n & (n - 1); } return nCount; } 例如test(9999)=8; 9999的二进制为10011100001111 转自:http://luckyclouds.javaeye.com/blog/654853