Re: BUG! Erratic for loop behavior

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

Chris Bensler wrote:
> 
> I just did some further testing, and it seems that magnifying a decimal
> value doesn't help either.
> 
> ? magnify(0.12345678901) = 12345678901 -- 0
> ? magnify(0.12345678901) = 123456789   -- 0
> ? magnify(0.12345678901) = 12345679    -- 0
> 
Chris,

   it's the truth for all computer languages: unlimited binary numbers
(like 1/1010) are not exactly representable by floating point numbers.
Be aware there are even more numbers not exactly representable for
calculating machines, like sqrt(2) or exp(1)... . But there are
languages like 'Mathematica' or 'Derive' especially designed to fulfill
so called 'algebraic computations' similar like humans do it after known
rules. But they are slow and not useful for 'number crunching'.
   However, for the 'normal' purposes in techniques and science, it's
not necessary to represent numbers exactly, it's sufficient to have a
relative accuracy of 15 decimal digits. All known physical constants do
have only an accuracy of about 4 to 7 decimal digits, not more! But of
course one has to be careful to avoid introducing a loss of accuracy in
calculations, i.e. small differences of large numbers!

You may have always a small loss of accuracy in your programs, Rolf

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

Search



Quick Links

User menu

Not signed in.

Misc Menu