On 23/09/2006, at 11:52 AM, Ronn!Blankenship wrote:

At 08:20 PM Friday 9/22/2006, Charlie Bell wrote:

On 23/09/2006, at 1:11 AM, Klaus Stock wrote:



OTOH, consider the following Smalltalk code:
   x := 1 / 3.
   x := 3 * x.
   x inspect.

Common sense tells us that the result is 0.9999999 - but Smalltalk
insists
on 1.

Um, .9* *is* 1.


.9999999...  is equal to 1.  (infinite string of 9s)
.9999999  is not equal to 1.  (finite string of 9s)

As I said earlier, computers represent numbers with a finite number of digits, which causes round-off errors, which can grow when the result of one calculation is used in another calculation. Especially when you subtract two nearly equal numbers.

Computers do, but do no programming environments take account of this, by marking recurring numbers as such?

Charlie
_______________________________________________
http://www.mccmedia.com/mailman/listinfo/brin-l

Reply via email to