Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Aug 1999 10:00:35 +0200 (CEST)
From:      Nick Hibma <n_hibma@skylink.it>
To:        Mark Murray <mark@grondar.za>
Cc:        FreeBSD Hackers mailing list <hackers@FreeBSD.ORG>
Subject:   Re: from number to power of two 
Message-ID:  <Pine.BSF.4.10.9908220956450.7595-100000@heidi.plazza.it>
In-Reply-To: <199908220750.JAA69064@gratis.grondar.za>

next in thread | previous in thread | raw e-mail | index | archive | help

It seems that all the solutions are too generic and slow. As I only have
to check the numbers 0-32 (actually 1-32), a block of if statements is
almost as fast as a table look up in 33 elements.

Cheers,

Nick


On Sun, 22 Aug 1999, Mark Murray wrote:

> > Does anyone know an inexpensive algorithm (O(1)) to go from an number to
> > the next (lower or higher) power of two.
> > 
> > 1			-> 1
> > 2,3			-> 2
> > 4,5,6,7			-> 4
> > 8,9,10,11,12,13,14,15	-> 8
> > etc.
> > 
> > So %1101 should become either %10000 or %1000.
> 
> Shift a bit until it becomes greater than (or less than) the number
> in question.
> 
> M
> --
> Mark Murray
> Join the anti-SPAM movement: http://www.cauce.org
> 
> 

-- 
e-Mail: hibma@skylink.it



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.9908220956450.7595-100000>