Re: scwewy answers that don't belong
- From: joeu2004 <joeu2004@xxxxxxxxxxx>
- Date: Thu, 27 Dec 2007 18:04:23 -0800 (PST)
On Dec 27, 3:39 pm, SteveDB1 <Steve...@xxxxxxxxxxxxxxxxxxxxxxxxx>
wrote:
I found a comparable article on that Excel bug you referenced,
dating back to May 10, 2005.
Actually, I was referring to a recent thread entitled "Is it a bug?",
9 Dec 2007, not this thread entitled "Excel bug?". But these threads
come up once a month, perhaps more often, or so it seems. It is a
FAQ.
And while the subject of the thread asks if this is an Excel bug, I
want to emphasize that the answer is always "no". Although Excel does
try to ameliorate the effect (e.g. the "optimization" introduced in
Excel 97 to reduce infinitessimal results to zero), for the most part
it is simply the nature of binary arithmetic in computers that use a
finite number of bits (namely 64) to store a "floating-point"
representation.
Hopefully MS will actually resolve this one day.
For the most part, it is not MS's problem to resolve. I do believe
that much of the problem would be avoided if Excel used decimal
arithmetic, as Visicalc did originally. But as Jerry Lewis is quick
to point out: that will not solve all the problems. Division and
multiplication by (some) fractional numbers will still cause problems,
depending on the precision of the decimal representation, as will the
representation of fractional numbers with infinitely repeating
series. Then there still remains the issue of representing numbers
with a finite number of digits, which the IEEE 754 decimal floating-
point representation proposes.
In fact, it is interesting that a (finite) decimal representation
could introduce new anomalies. For example, if A1 is 1/3 and A2 is
3*A1, binary computer arithmetic returns exactly 1 in A2, as you would
like. This is not a gimmick of Excel; the same thing is true in VBA.
It has to do with how the binary implementation rounds the longer
internal result to 64 bits. (The exact binary representation before
internal rounding is actually infinitessimally less than 1.)
But an "exact" decimal representation might return 0.9...9. It
depends on the implementation. (I suspect an IEEE 754 decimal
floating-point implementation would still yield exactly 1. Intel does
provide a software library with one implementation of the proposed
standard. I don't have access to it.)
It almost seems that the calculations taking place are getting skewed in the
background, and then returning an erronous answer. I.e., a computer issue.
I take issue with the phrase "erroneous answer". It is a question of
finite v. infinite representation. Assuming that "infinite
representation" is unrealistic, there will also be numerical
"error" (difference) in any computation, whether it be by hand or by
computer. There is an entire branch of mathematics devoted to
studying this called Numerical Analysis. It predates the advent of
computers.
The issue is made more mysterious with the advent of computers because
human calculation usually try to "reduce terms" as much as possible
before it becomes necessary to actually compute a number. And because
humans do use a form of finite decimal representation that tends to
avoid computational error in some simple cases. It is my contention
that if computers mimicked the same finite decimal representation, no
one would squawk about the "error" in computation because it would be
the same as the error in human computation of the same problem -- or
at least the explanation would easily be understood in those terms.
.
- Follow-Ups:
- Re: scwewy answers that don't belong
- From: SteveDB1
- Re: scwewy answers that don't belong
- References:
- Re: scwewy answerrs that don't belong
- From: joeu2004
- Re: scwewy answers that don't belong
- From: SteveDB1
- Re: scwewy answerrs that don't belong
- Prev by Date: RE: Conditional formatting by day of the date in Excel 2003
- Next by Date: RE: Conditional formatting by day of the date in Excel 2003
- Previous by thread: Re: scwewy answers that don't belong
- Next by thread: Re: scwewy answers that don't belong
- Index(es):
Relevant Pages
|