if ( x&(x-1)==0 ) then number is of forn 2^n else false put a separate check for x=0 as the above will not work for x=0 explanation- take x = 8 =1000 x-1 = 7 =111 clearly x&(x-1) is 0
similarly do for a number which is not 2^n.... hope this helps !! -- Amol Sharma Third Year Student Computer Science and Engineering MNNIT Allahabad On Sat, Jul 30, 2011 at 12:01 PM, tech rascal <techrascal...@gmail.com>wrote: > thanx for the explanation saurabh.... > > > On Sat, Jul 30, 2011 at 11:54 AM, ankit sambyal <ankitsamb...@gmail.com>wrote: > >> If x is the number which is to be checked, >> >> if (x && !(x & (x-1)) == 0) >> then power of 2 >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Algorithm Geeks" group. >> To post to this group, send email to algogeeks@googlegroups.com. >> To unsubscribe from this group, send email to >> algogeeks+unsubscr...@googlegroups.com. >> 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 algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > 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 algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.