On Friday 17 June 2005 08:05 pm, John W. Kennedy wrote:
> Jonathon Blake wrote:
> > Dan wrote:
> >>The problem is that you product: 4.61E +399 is is larger than what
> >> Calc allows.
> >
> > Drat!
> > Are there any spreadsheets that can handle numbers up to
> > 1.0E+1000000? Or am I going to have to write my own functions in
> > python? [Assuming that I can duplicate in python functions that I
> > could write in P-System Pascal.]
> >
> > More or less on those lines:
> > a) What is the largest number in Scientific Notation that Calc
> > allows? b) How close to zero can one go, using Scientific Notation?
> >
> >>As far as Calc is concerned, your product is "infinity".
> >
> > Oddly enough, the claim from the adherents for whom I am doing the
> > spreadsheet for are making a more or less similar claim.
>
> A limit of about 2E308 is not imposed by Calc, but is rather
> intrinsic to the IEEE floating-point specification, which is used by
> nearly all modern hardware, and consequently by nearly all languages
> and programs. If you want to mess with larger values, you have to use
> software that does arithmetic the hard way, a digit at a time (or so)
> instead of using the computer's built-in arithmetic. No piece of
> software designed for efficiency will do this, but some programming
> languages will allow you to ask for it. Java (using the
> java.math.BigDecimal class) and Perl (using the bignum pragma) can do
> it. I don't know Python.
>
> The Windows XP calculator can do it. (Which is understandable; if you
> only do one calculation at a time, it doesn't matter that it takes,
> say, 200 ns instead of 5 ns.)
Things are not hopeless though. If you use two columns to separate
the significant numbers from their exponents, you should be able to do
these calculations in Calc. To multiply numbers: multiply the
significant numbers and add the exponents. To divide two numbers:
divide the significant numbers and subtract exponents. I assume you can
put the answer back into a form you can use ( x.xxxE +.....)
Dan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]