代码实现: #include <stdio.h> #include <stdlib.h> int count_sum(int n) { int count = 0; int i = 0; for(i = 0;i < 32;i++) //long型的话,32改为64即可! { if(n&1){ count++; } n>>=1; } return count; } 测试一下: int main() { int a = 100; printf("%d/n",count_sum(a)); } 测试结果: 3 这说明代码是正确的.