题意:
求出一个二进制数中1的个数。
思路:
用除二取余法求出各位的数字。
以下为代码:
int count_b(int n){
int x=0;
while(n!=0){
x+=n%2;
n/=2;
}
return x;
}
int* countBits(int num, int* returnSize) {
int i=0;
int* r=(int*)malloc(sizeof(int)*(num+1));
r[0]=0;
for(i=1;i<=num;++i){
r[i]=count_b(i);
}
*returnSize=num+1;
return r;
}