Bill Allombert on Fri, 19 Oct 2012 18:26:13 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Word length and number of bits in an integer |
On Fri, Oct 19, 2012 at 05:58:11PM +0200, Dirk Laurie wrote: > I need a routine for the exact smallest value B such that x>>B is zero, > where x is a t_INT. SInce a may be very large indeed, I coded it thus: > > { bitsin(x) = > my(w=32*(length(x)-1)); x>>=w; > while(x, x>>=1; w+=1); > w > } > > I have two queries: > > 1. Am I missing some useful builtin function? Yes, but I do not thing it is available in GP. you can do install(expi,lG); bitsin(x)=expi(x)+1 Maybe we could add a function logint(). > 2. Can I rely on the words making up x to be 32-bit? > If not, how do I find out the word length from inside GP? You should not try :) Cheers, Bill.