Re: Re: Off topic 'C' question

Поиск
Список
Период
Сортировка
От Louis-David Mitterrand
Тема Re: Re: Off topic 'C' question
Дата
Msg-id 20000812085054.B4814@styx
обсуждение исходный текст
Ответ на Re: Off topic 'C' question  (Louis-David Mitterrand <cunctator@apartia.ch>)
Список pgsql-hackers
On Fri, Aug 11, 2000 at 11:18:23PM +0200, Louis-David Mitterrand wrote:
> On Sat, Jul 29, 2000 at 09:38:33PM -0400, Mike Mascari wrote:
> > I have a quick question. What is the quickest way to determine
> > the next highest power of two which is greater than a given
> > integer in 'C'. For example, given the number 7, I would like to
> > return 8. Given the number 13, I would like to return 16, etc. Is
> > there a gem to do this without shifting a bit value from 1 left
> > up to a maximum of 32 (or 64) iterations? 
> 
> You could use:
> 
> pow(x, ((int)(log(x)/log(2)) + 1));

Sorry the correct way is:
   #include <math.h>   #include <stdio.h>   #include <stdlib.h>
   int main(int argc, char ** argv) {       int r = atoi(argv[1]);       printf("result is %g\n", pow(2,
(int)((log(r)/log(2))+ 1)));       return 0;   }
 

This works for any power, simply replace 2 by the desired exponent.

-- 
Louis-David Mitterrand - ldm@apartia.org - http://www.apartia.org


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Optimizer confusion?
Следующее
От: Philip Warner
Дата:
Сообщение: Re: Optimizer confusion?