If the floating point number cannot be represented precisely as n/(2^m) then it must be represented imprecisely in a binary form, and when that happens, rounding errors occur. In base ten, the formula is k/((2^n)*(5^m)). We're just more accustomed to the mental leap that 0.33 in base ten usually means 1/3rd, even though this is an imprecise representation of a non-terminating expansion. When we see the same thing in numbers that have lost precision due to being stored in base-2, we panic. ;)
A few years ago I put together a more thorough explanation: Re: shocking imprecision
Dave
In reply to Re: floating point addition
by davido
in thread floating point addition
by kresike
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |