Thanks, I've written a few myself. I'll post them to the forum. gc
On Thu, Dec 10, 2015 at 2:09 PM, <dunb...@aol.com> wrote: > There are handlers developed to handle numbers of any length. See the > forums. "Routines for very large numbers" > > > Craig > > > > -----Original Message----- > From: Peter TB Brett <peter.br...@livecode.com> > To: How to use LiveCode <use-livecode@lists.runrev.com> > Sent: Thu, Dec 10, 2015 1:47 pm > Subject: Re: Why aren't large numbers limited to 64 bit values? > > On 2015-12-10 17:54, Geoff Canyon wrote: > > LiveCode works in 64 bit numbers, so why does > > > > put 10000000000 * 1000000000000000000000000000000 > > > > result in > > > > 10000000000000000303786028427003666890752 > > > > which is close to the right answer, instead of some 18 digit value? > > When numbers are too large to represent exactly, LiveCode automatically > shifts to using 64-bit IEEE floating point representation. > Floating-point numbers store a number in three pieces: > > 1) a sign bit > 2) an exponent (11 bits) > 3) a mantissa (52 bits) > > This is a bit like writing decimal scientific notation. The "true" > value is 1.<MANTISSA> * 2^<EXPONENT>, modified by the SIGN. > > This means that much much larger numbers than 2^64 can be represented in > only 64 bits, but at the cost of loss of accuracy (because the mantissa > is only 53 bits). As you've noticed, the result of your calculation is > only *close to* the right answer. It can accurately represent any > number that only requires 53 bits of precision. > > See also > https://en.wikipedia.org/wiki/Double-precision_floating-point_format > > Peter > > -- > Dr Peter Brett <peter.br...@livecode.com> > LiveCode Open Source Team > > LiveCode on reddit! <https://reddit.com/r/livecode> > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode