Re: Big Integer Atoms

new topic     » goto parent     » topic index » view thread      » older message » newer message

On 11 Jul 2004, at 14:31, Robert Craig wrote:

> 
> 
> posted by: Robert Craig <rds at RapidEuphoria.com>
> 
> Igor Kachan wrote:
> > 
> > Hi, dear Euphorians,
> > 
> > The EU manual says:
> > 
> > "... Those declared with type integer must be atoms 
> > with integer values from -1073741824 to +1073741823
> > inclusive. 
> > You can perform exact calculations on larger integer
> > values, up to about 15 decimal digits, but declare 
> > them as atom, rather than integer ..."
> > 
> > This "up to about 15 decimal digits" seems to be not
> > enough concrete thing for some cases.
> > 
> > Couldn't someone tell me about more precise
> > bounds of these "larger integer values"?
> 
> (As I recall) with IEEE floating-point, you have 1 bit 
> for the +/- sign, 52 bits for the mantissa, and 11 bits 
> for the exponent.
> 
> When storing integers in f.p. form, 
> at some point you are going to use up all 52 bits in 
> the mantissa, and you won't be able to store the integers
> exactly anymore, or get exact results from your calculations.
> I guess you could look for the point where:
>    x + 1 = x
> i.e. you don't have the resolution to distinguish between
> one huge integer and the next. There's roughly 3 decimal
> digits per 10 binary digits, so I guess that would be
> around 52 * 3 / 10 = 15 decimal digits, roughly.

I am guessing you cannot do something like allocate x number of 8bit 
memory locations, repeat(poke rand(256) into them) x times, and then point 
an Eu atom to it without warning? At least, that's what i'd do in turbo 
pascal... i guess in Eu, to avoid the overflow, you'd use object or even 
sequence?

Kat

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu