Why Do Computers Suck at Math?

where can I download the VM with Windows 3.0? hahahahaha

I think what Darren meant was:

starting with:
x = .99999…

10x = 9.99999… (multiply each side by 10)
10x - x = 9.99999… - .99999… (subtract x or .99999… from each side)
9x = 9 (simplify each side’s subtraction)
x = 1 (divide by 9)

Q.E.D.

Here’s how I’ve always thought of the .(9) = 1.0 argument. Basically there is no room between 1 and .(9). People say that you could fit .(0)1 in there, but you can’t.

Heh, right, I forgot many people claim that you could fit 0.0…01 in there. I think that understanding why 0.0…01 is nonsensical notation is equivalent understanding why 0.999… = 1.

actually you re saying it works on live search, but its capacity isnt infinite either, since :
http://search.live.com/results.aspx?q=39999999999999999999±+39999999999999999998go=form=QBREfilt=all

this error is not due to the precise value of 399 999 999 999 999, it’s just because it’s a big number, nothing exceptional.

btw nice proof Rob !!

Floating-point problem has already been fixed by Dr Larry Nylund at the Institute of Mathematics and Statistics; http://www.math-solutions.org

His intelligent implementations of desktop PC calculators have solve the floating-point problem. Dr. Larry Nylund’s solutions are pretty good to solve math stuffs.

These are perfect mathematical solutions for school, high school, university and engineers.

Who is the audience for this? You’re always making these bad arguments and missing fundamental concepts. I recommend taking some courses in computer science; this is actually discussed in excruciating detail in any reputable introductory CS course.

so funny! :slight_smile:

Spotlight calculates 399999999999999 - 399999999999998 just right :slight_smile:
I’m a Mac :stuck_out_tongue:

It’s not the computer that has trouble - it’s the programmer or the language. Try using scheme, which often implements precise arithmetic.

I’ve accepted that 0.999… = 1

but I’m wondering what number would be just less than one to the infinitely-small number place?

I’m using Ubuntu. I get a perfectly correct answer :slight_smile:

You could have at least used an example where people died. I.E. the Patriot missle in the Gulf War.

$ python
Python 2.5.2 (r252:60911, Jan 4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type help, copyright, credits or license for more information.
from decimal import Decimal
print Decimal(ā€˜399999999999999’) - 399999999999998L
1
print 399999999999999L - 399999999999998L
1
Decimal(38.1) * Decimal(0.198)
Decimal(7.5438)
Decimal(0.1)
Decimal(0.1)

Goodness, you can prove 0.(9)=1 just using GCSE maths to find what fraction a recurring decimal represents. Basically, multiply 0.9999… by the period of the recurrence (ie 10), to get 9.9999… Then subtract the original number from it. So you obviously have 9 as multiplying 0.9999… by 10 won’t alter the nos after dec. pt. Becos 9.9999…=10 times the no, 9 = (10-1) times the no. So 0.9999… = 9/9 = 1. Worked this out without even looking at the wikipedia page.

i see… any program as only a certain logic error or a bug.

http/it.alonearea.com

@Ben
I hereby comment on this particular post by [author]. There are two possibilities:

  1. [author] is right. Any person that has previously pointed out the truth of the post has done so without necessity, as [author] stated an obvious fact and thus only wasted my time. Any person planning to point out the truth of the post after I did so should instead agree with me, giving proper credit to my intellect. Any person that has previously claimed that [author] was wrong should consider themselves responded to with alternative 2.

  2. [author] is wrong. Any person that has previously pointed out the falsity of the post has done so without necessity, as the author is obviously incompetent (concerning this particular matter, and thus concerning any topic whatsoever) and only wasted my time. Any person planning to point out the falsity of the post after I did so should instead agree with me, giving proper credit to my intellect. Any person that has previously claimed that [author] was right should consider themselves responded to with this very paragraph.

I have made my opinion clear, and I have an anecdote that backs up my statement without the slightest possibility of a doubt. Go home now, there is nothing more to see here.

So…in other words…as much as you want us to agree with you and go home…in both alternatives YOU wasted time. Well…I’m willing to agree with you on THAT ahahaha

@everyone
I am amazed of how this thing got blown out of proportions but 0.9999… is =1 and to answer Daniel Kaplun and his frustration I ensure you, where I come from they teach this fact in ELEMENTARY SCHOOL.

There is an important difference to be made here. I agree that in virtually every programming course I took this issue is discussed, in some texts more than others…but like many other semi-theoretical disciplines (like sometimes physics, and especially math)in software engineering sometimes for OUR ease and peace of mind this little detail gets forgotten and such errors ARE present in many software programs considered otherwise bullet proof, and they go often undetected.
The very idea of relativity was conceived, by a man that we all know and revere…and we hold this principle to be true…and so far we have found it is so. However few people realize that before the important discovery of time-warp was made by Einstein HE TOO had to get rid of things like air-friction and aerodynamic forces to deduce the time-warp effect in his mental experiment of free falling objects that eventually led to the significant change of how we view the world of nature.

Every day in any school at any level you will see problems, even test question where they will say Omit the windchill factor… or Discard air friction…
It is in our very nature to try to make problems simple so that we can solve them. And this mindset has brought us great strides in understanding, technology, etc. I.e. it does not ALWAYS have to be perfect.

With that said, I recognize that this can be a problem when precise calculations are critical, and it should be and it HAS been addressed in those particular and special fields. But I think us common mortals are going to be fine with the variable sets we have.

And to those who criticized this author for pointing out this problem deeming it a waste of a blog well. I urge you to consider this is not paper and no trees were armed in the making of this post and stating the obvious has proven IMMENSELY useful in our scientific history.
Think about the origin of the word Eureka, spoken by Archimedes after witnessing a simple everyday life phenomenon (the raising of the water level when a body is immersed in it).

And remember the age old programmer’s axiom the KISS concept…so please…let’s!

http://www.wolframalpha.com/input/?i=1%3D0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

QED

http://www.wolframalpha.com/input/?i=1%3D0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

QED

I’m sure someone else picked up on this: So any prospects of storing any infinitely repeating number on them are dim at best.

Wrong! You forget symbolic representation… I can store pi to perfect precision in a single byte! :slight_smile:

Seriously though its good to be reminded that floating point numbers have all kinds of weirdness. The rounding errors are often missed by newbies, along with other things like how NAN and +/-INF react when put through conditionals. :slight_smile:

sorry for a double comment but i feel obliged to point out, all of the examples you give are bad programming and not the computer’s fault. :slight_smile:

bad programmers…

the only thing i can think of along these lines is the old intel fpu bug with fdiv (long since fixed).