Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
Perl Monk, Perl Meditation
 
PerlMonks  

Re: adding numbers and floating point errors

by spiritway (Vicar)
on Nov 22, 2006 at 22:00 UTC ( #585622=note: print w/ replies, xml ) Need Help??


in reply to adding numbers and floating point errors

Computers don't handle fractional floating point values very well. Anything other than powers of 1/2 (or their multiples) results in a form that repeats endlessly. This results in truncation or rounding errors, and these will tend to accumulate when you iterate.

You might want to consider keeping your data in rational form (e.g., bigrat) while you are performing your calculations. Doing this can save you lots of problems with rounding or truncation errors. Once you've finished your calculations you can convert your rationals into floating point format, if you wish, for display.


Comment on Re: adding numbers and floating point errors
Re^2: adding numbers and floating point errors
by ikegami (Pope) on Nov 22, 2006 at 22:32 UTC

    Anything other than powers of 1/2 (or their multiples) results in a form that repeats endlessly.

    Not quite. Anything other than sums of powers of 2 result in a form that repeats endlessly.

    Sums of powers of 2 do not repeat endlessly. For example, 0.3125 is not a power of 2, yet it does not repeat because it is a sum of powers of 2 (2-2 + 2-4).

    Note that "powers of 1/2" and "powers of 2" are synonymous.

    Update: Nevermind. What you said and what I said are mathematically equivalent. 0.3125 is a multiple of a power of 2 (5 * 2-4).

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://585622]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (8)
As of 2014-04-19 19:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (483 votes), past polls