#include<stdio.h>
#include<stdlib.h>
unsigned long count_one(unsigned long data)
{
unsigned long count = 0;
unsigned long x = data;
while(x)
{
count++;
x = x & (x-1);
}
return count;
}
int main(){
unsigned long data[] = {13,16,25,31,76};
int i = 0;
int size = sizeof(data)/sizeof(unsigned long);
for(i=0;i<size;i++){
printf("%d has %d 1s\n",data[i],count_one(data[i]));
}
return 0;
}