Re: Big Integer Atoms
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.
Regards,
Rob Craig
Rapid Deployment Software
http://www.RapidEuphoria.com
|
Not Categorized, Please Help
|
|