/* Exercise 2.9 from "The C programming language" book by K&R */
#include <stdio.h>
/* counts 1 bits in binary variable x */
int bitcount(unsigned x)
{
int i = 0;
while (x) {
x &= (x - 1);
i++;
}
return i;
}
int main(void)
{
printf("%d\n", bitcount(0xFF));
return 0;
}
----------