@Ankur: Try this:
int HighestBitSet (unsigned int n)
{
int exp;
double x = frexp((double)n, &exp);
return exp-1;
}
To see how it works, look up the standard C++ function frexp.
Dave
On Nov 14, 12:06 am, Ankur Goel <[email protected]> wrote:
> How to find highest power of 2 in an integer
>
> Suppose number is
> 00001 - Highest power of 2 is 1
> 00011 - Highest power of 2 is 2
> 11000 - Highest power of 2 is 5
>
> No loops
--
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.