On 3/1/19 2:26 PM, David G. Johnston wrote: > Upon further reading you are correct - IEEE 754 has chosen to treat n/0 > differently for n=0 and n<>0 cases. I'm sure they have their reasons but > ... I don't use, > or have time for the distraction, to understand why such a decision was > made and how it could be useful.
The answer may be as simple as the inherent difference between the cases. 0/0 is funny because of a uniqueness problem. Try to name q such that 0/0 = q, rewritten as q × 0 = 0, and the problem you run into is that that's true for any value of q. So you would have to make some completely arbitrary decision to name any value at all as "the" result. (anything nonzero)/0 is funny because of a representability problem. n/0 = q, rewritten as q × 0 = n, only has the problem that it's untrue for every finite value q; they're never big enough. Calling the result infinity is again a definitional decision, but this time it is not an arbitrary one among multiple equally good choices; all finite choices are ruled out, and the definitional choice is fully consistent with what you see happening as a divisor *approaches* zero. > For my part in the queries I have that encounter divide-by-zero I end up > transforming the result to zero which is considerably easier to > present Easy to present it may be, but it lacks the mathematical motivation behind the choice IEEE made ... as a value for q, zero fails the q × 0 = n test fairly convincingly for nonzero n. :) Regards, -Chap