/************************写一个函数,统计一个 int 类型的二进制值中有多少位为 1**************************/
1 #include <stdio.h>
4 int main(int argc, const char *argv[])5 {
6 int n=0xaaaaaaaa;
7 int i;
8 static num=0;
9 for(i=0;i<sizeof(int)*8;i++)//32bit或者64bit系统均可以
10 {11 if(n&1)
12 {
13 num=num+1;
14 printf("num1=%d\n",num);
15 }
16 n=n>>1;
17 printf("num2=%d\n",num);
18 }
19 printf("num3=%d\n",num);
20 }