/*Author: bhw * EMail: bhwshx@163.com * Date: 2009年02月24日 星期二 19时47分06秒*/ /* 计算输入的十进制整数的 二进制 表示中的1的个数 */ #include<stdio.h> #include<stdlib.h> #define SIZE 8*sizeof(int) int bit1count(int n) { int i, count = 0; for(i = 0; i < SIZE; ++i) { if((n & 1) == 1) ++count; n >>= 1; } return count; } int main(int argc, char *argv[]) { int n; if(argc != 2) { printf("Usage:%s [integer]/n",argv[0]); return 0; } n = atoi(argv[1]); printf("%d has %d bit ones./n",n,bit1count(n)); return 0; }