Search This Blog

Saturday, December 19, 2009

Function to check number of bits set in a number

/* Untested! */
int total_bit_set(int number)
{
#define MAX_BIT_NUM 32 /* test for 32bit numbers */
#define MASK 0x01

int i = 0;
int total = 0;
for (i=0; i < MAX_BIT_NUM; ++i)
{
total = ( number & MASK ) ? total+1 : total ;

/* Right shift by 1 bit */
number = (number >> 1);
}

return total;
}

No comments:

Post a Comment