#include <stdio.h>
void print_bits(unsigned int n) {
for (int i = 31; i >= 0; i--)
printf("%d", (n >> i) & 1);
printf("\n");
}
unsigned int count_bits(unsigned int n) {
unsigned int count = 0;
while (n) {
count += n & 1;
n >>= 1;
}
return count;
}
int main(int argc, char **argv)
{
int n = 1358;
print_bits(n);
printf("%d\n", count_bits(n));
return 0;
}
/*
run:
00000000000000000000010101001110
6
*/