Q

Home » Top Secret » Why is 0 divided by 0 undefined?

Why is 0 divided by 0 undefined?

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 46 other followers

Why is 0 divided by 0 undefined?

Try it yourself.

Take Microsoft calculator. And place it into Scientific or Standard mode like so:

Calcultor

Then take any number from 1 to whatever you can imagine, and then divide it by zero, and what do you get?

DivideByZero

“Cannot divide by zero”

But if you take 0 and divide it by zero, you get something completely different.

Undefined

Why is 0 divided by 0 undefined?

The answer’s pretty straightforward.

There’s actually TWO VALID mathematical results returned for this operation.

To explain:

There’s a mathematical rule which says that any number divided by itself is one.

In isolation, if you were to follow that rule, then 0 divided by 0 would equal 1, right?

There’s ANOTHER mathematical rules which says any number cannot be divided by zero.

In isolation, if you were to follow that rule, then you would get an error.

But taking these rules together, which one takes precedence?

This is EXACTLY the problem Microsoft encountered when creating Calculator for Windows.

When confronted with these mathematical rules, there was no written rule for which of these rules took precedence.

This created a problem in testing.

One quality assurance tester reported a bug in the calculator in testing the rule any number divided by itself equals 1 when testing this with zero.

The programmer resolved the ‘problem’, and placed the rule for checking for this condition at the beginning of the code.

THEN A completely separate quality assurance tester testing the rule ‘Any number divided by 0 is an error’ reported a bug when the calculator returned a 1.

The programmer resolved this problem by placing his rule for checking this condition before ALL other code.

This created drama at Microsoft.

Checking of math books for which operation should come first.

But they could find nothing.

The rules, as mathematically defined created two different results which were both perfectly valid.

But this created a heated division at Microsoft.

There were those who believed that 0 – as a number – does not exist. It’s a concept, an idea, much like infinity, and thus not a number. and accordingly doesn’t fall under the rule that ‘any number divided by itself is 1’. As a concept and idea without quantity, they felt this made it imaginary.

For these people, they thought there was only one answer: It’s an error, because of the rule that any number divided by zero is an error.

Then there were those who were more pragmatic with their beliefs concerning 0.

With religious fervor, they believed that like infinity, whether it’s a really large number or zero, these abstract concepts refer to quantities. Just because it’s a difficult to conceptualize quantity doesn’t make it not a number.

They believed in placing their rule first, that any number divided by itself is 1.

The debate raged on at Microsoft for what felt like an eternity.

After heated debate (Geek debates are fierce and take no prisoner), they finally agreed on an amenable solution to their problem.

The result you can see for yourself.

“Result is Undefined”

Microsoft Windows calculator returns  “Result is Undefined” whenever there’s an attempt to divide zero by zero.

This is Microsoft’s way of saying

You gave us rules which produce two different results for a binary computation. You figure it out for yourself.”

There are those at Microsoft who openly wonder if this is how Mitosis got it’s start.


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Enter your email address to follow this blog and receive notifications of new posts by email.