Royce Mitchell III wrote:
Magnus Olsen wrote:
> Hi I have not test run this code. But i think this form maby are
> faster that v3 of Royce Mitchell III code it leave to the compiler
> to optimze it more or I complete wrong
> int highest_bit ( unsigned int i )
> {
> int ret = 0;
> int n ;
> int t;
> int x;
>
> for (t = 0; t>3;t++)
> {
> x = (16 << t);
> n = i >> x;
> if ( n ) i = n, ret += x ;
> }
> return ret + (i>>1);
> }
>
>
>
Unfortunately your code is broken in a couple ways, most notably the
code inside the for() statement never executes. When I fix it to work
correctly, it takes almost 3x longer than my code :(