@rShetty: Ask a question. What do you need to know?

Dave

On Jul 11, 1:26 pm, rShetty <[email protected]> wrote:
> Some more Explanation of the working would be helpful
>
> Thank You ..
>
> On Jul 11, 11:11 pm, Dave <[email protected]> wrote:
>
>
>
> > Assuming that the integer is 32 bits, this is pretty good:
>
> > x = (x & 0x55555555) +  ((x >> 1) & 0x55555555);
> > x = (x & 0x33333333) +  ((x >> 2) & 0x33333333);
> > x = (x & 0x0F0F0F0F) +  ((x >> 4) & 0x0F0F0F0F);
> > x = (x & 0x00FF00FF) +  ((x >> 8) & 0x00FF00FF);
> > x = (x & 0x0000FFFF) +  ((x >> 16) & 0x0000FFFF);
>
> > Notice that the hex constants are respectively alternate bits,
> > alternate pairs of bits, alternate groups of four bits, alternate
> > bytes, and the low-order half of the int.
>
> > The first statement determines the number of one-bits in each pair of
> > bits. The second statement adds adjacent pairs of bits to get the
> > number of bits in each group of four bits. Then these are added to get
> > the number of bits in each byte, short int, and finally in the whole
> > int.
>
> > Dave
>
> > On Jul 11, 12:44 pm, rShetty <[email protected]> wrote:
>
> > > What is the most efficient algorithm to count the number of bits in an
> > > unsigned integer ?
> > > Explain your approach to the problem ?- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to