[futurebasic] The largest number is FB3 (was Very big numbers)

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : November 2000 : Group Archive : Group : All Groups

From: Phil Yates <phil.yates@...>
Date: Wed, 08 Nov 2000 13:00:49 +0000
on 7/11/00 11:19 pm, Robin at robinc@... wrote:

> Actually, I believe Peter is on to something here, though not quite a 10^308
> something. I believe the imprecision with double-precision floats only comes
> into play with certain decimal values (fractions not fractions of 2). If you
> stick with "integer floats", I think you can take full advantage of the
> non-exponent bits (6 bytes in PPC?), as demonstrated by the following. So if
> I'm right, you can get 1.5 x the digit precision allowed by unsigned long
> integers.

> Well. Yes and no, Peter. What you say is obviously quite correct, but it
> doesn't alter the fact that the largest number that FB3 can accurately
> handle is 4,294,967,295 or 2^32.

I stand corrected - I spent some time on this last night.

I _think_ that the largest number than FB3 (PPC) can handle with true
fidelity is :

9007199254740991 (or (2 ^ 53) - 1)

This is by defining the variable as a DOUBLE, with

gFBfloatMaxDigits% = 1
_RoundUpFloat2Long  = _false
DEFDBL 16

(Not sure if these make any difference - just the settings I used)

If you create a loop, and increment the Variable by 1, the variable stops
being updated at 2 ^ 53.

If anyone can get the "standard" FB3 to go any higher, I'd be interested to
know.

Phil.