Can anyone explain logic of the above code ? *Muthuraj R IV th Year , ISE PESIT , Bangalore*
On Sun, Aug 28, 2011 at 2:16 AM, Dheeraj Sharma <[email protected] > wrote: > yeah..dat we all know..bt wat actually this code is doing..this is wat am > thinking!!! > > > On Sun, Aug 28, 2011 at 2:12 AM, Debabrata Das < > [email protected]> wrote: > >> Another approach!! >> >> while(x) >> { >> x=x&(x-1); >> count++; >> >> } >> >> On Sun, Aug 28, 2011 at 2:26 PM, Nikhil Gupta >> <[email protected]>wrote: >> >>> Here is a small piece of program which counts the number of bits set in a >>> number. I found it online somewhere. >>> InputOutput00(0000000)52(0000101)73(0000111) >>> >>> *int* CountBits (*unsigned* *int* x ) >>> >>> >>> >>> >>> { >>> *static* *unsigned* *int* mask[] *=* { 0x55555555, >>> >>> >>> >>> >>> 0x33333333, >>> 0x0F0F0F0F, >>> 0x00FF00FF, >>> >>> >>> >>> >>> 0x0000FFFF } ; >>> *int* i ; >>> *int* shift ; /* Number of positions to shift to right*/ >>> *for* ( i *=*0, shift *=*1; i *<* 5; i *++*, shift **=* 2) >>> >>> >>> >>> >>> x *=* (x *&* mask[i ])*+* ( ( x *>>* shift) *&* mask[i]); >>> >>> >>> >>> >>> *return* x; >>> } >>> >>> Can anyone explain how this is working? >>> >>> -- >>> Nikhil Gupta >>> Senior Co-ordinator, Publicity >>> CSI, NSIT Students' Branch >>> NSIT, New Delhi, India >>> >>> -- >>> 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. >>> >> >> -- >> 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. >> > > > > -- > *Dheeraj Sharma* > Comp Engg. > NIT Kurukshetra > +91 8950264227 > > > -- > 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. > -- 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.
