[OpenBIOS] testing Max OS X boot on latest trunk (revision 1080)

Tarl Neustaedter tarl-b2 at tarl.net
Sun Dec 23 06:25:59 CET 2012


On 2012-Dec-22 23:53 , Programmingkid wrote:
> Division by zero equals zero.

That is incorrect. By definition, division by zero cannot return a 
meaningful answer.

http://en.wikipedia.org/wiki/Division_by_zero

[...]
> In computer programming, an attempt to divide a floating point number 
> by zero will by default lead to positive or negative infinity by the 
> IEEE 754 floating point standard. However, depending on the 
> programming environment and the type of number (e.g. integer) being 
> divided by zero, it may: generate an exception, generate an error 
> message, cause the program to terminate, generate either positive or 
> negative infinity, or result in a special not-a-number value.

There are two mathematical theorems in conflict when dividing zero by zero;

  * Dividing by zero cannot return a meaningful number, since for all
    a/b = x there must be a corresponding x*b = a. If b is zero, there
    is no value of x which can produce a meaningful a.
  * Dividing anything by itself (in this case, 0/0) /shall/ produce the
    identity, which for real numbers is 1 (it's something else for
    matrices). Specifically a/a = 1, thus 1*a = a.

The answer is that as far as mathematics (and standards like IEEE 754) 
are concerned, dividing 0 by 0 is either a trap or a NaN. Not zero. if 
Apple hardware is producing zero as a result of dividing zero by zero, 
I'd consider that buggy hardware.

I do note from a Google search that at least the PowerPC 8360 does the 
correct thing with divide by zero, which breaks someone's application 
that depended on different behaviour:

http://stackoverflow.com/questions/6460558/powerpc-how-to-make-div-0-return-zero-as-a-result

I do find amusing the comment about the original dependency on 1/0 
producing 0:

> I've inherited legacy code like this before & I feel your pain. You 
> want to shake your fist at the people who installed such bone-headed 
> behavior, but right now shaking your fist doesn't help you ship 
> product. You need a solution. Good luck.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openbios.org/pipermail/openbios/attachments/20121223/b2147659/attachment.html>


More information about the OpenBIOS mailing list