Talk:Detect division by zero: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
No edit summary
Line 17: Line 17:
::Maybe it's correct as multiple numbers are '''N'''ot '''a''' '''N'''umber :-)<br> (Being pedantic seems to be catching). --[[User:Paddy3118|Paddy3118]] 18:37, 18 June 2010 (UTC)
::Maybe it's correct as multiple numbers are '''N'''ot '''a''' '''N'''umber :-)<br> (Being pedantic seems to be catching). --[[User:Paddy3118|Paddy3118]] 18:37, 18 June 2010 (UTC)
::: "In other words NaN is not a valid result for 0 / 0 but is a description of the character of those answers." --[[User:Rdm|Rdm]] 19:17, 18 June 2010 (UTC)
::: "In other words NaN is not a valid result for 0 / 0 but is a description of the character of those answers." --[[User:Rdm|Rdm]] 19:17, 18 June 2010 (UTC)
: I don't know what "mathematically incalculable" means, but I can testify that in pure mathematics, division by zero, regardless of the dividend, is undefined. Expressions such as <math>\lim_{x \to 0} \frac{x^2}{x}</math>, though they may appear to involve division by zero, actually don't. This expression, for instance, means "the number ''y'' such that for all positive ε there exists a positive δ such that for all <math>x \in (-\delta, \delta)</math>, <math>\left|\frac{x^2}{x} - y\right| < \epsilon</math>", i.e., 0. —[[User:Underscore|Underscore]] ([[User talk:Underscore|Talk]]) 01:04, 19 June 2010 (UTC)

Revision as of 01:04, 19 June 2010

Many of the solutions here simply check that the result is infinite. This will fail if the numerator is 0 too, since 0 / 0 is mathematically incalculable (many languages return NaN here).

A correct pseudocode solution is:

result = numerator / denominator
if numerator equals 0
   if result is not a number
      divide by zero action
   end
else 
   if result is infinite
      divide by zero action
   end
end
0 / 0 is NOT mathematically incalculable -- it is trivially calculable. The problem with 0 / 0 is that any numerical answer is a valid answer. In other words NaN is not a valid result for 0 / 0 but is a description of the character of those answers. (The result can be any of an infinite variety of numbers and not just "a" single number.) This is a problem in mathematics because the result, by itself, is not sufficient to prove anything. Thus, we at times use limits and other constructs to reason about cases involving 0 / 0. A less deceptive result than NaN for 0 / 0 would be "Any Number", but to my knowledge no languages implement that. --Rdm 18:19, 18 June 2010 (UTC)
Maybe it's correct as multiple numbers are Not a Number :-)
(Being pedantic seems to be catching). --Paddy3118 18:37, 18 June 2010 (UTC)
"In other words NaN is not a valid result for 0 / 0 but is a description of the character of those answers." --Rdm 19:17, 18 June 2010 (UTC)
I don't know what "mathematically incalculable" means, but I can testify that in pure mathematics, division by zero, regardless of the dividend, is undefined. Expressions such as , though they may appear to involve division by zero, actually don't. This expression, for instance, means "the number y such that for all positive ε there exists a positive δ such that for all , ", i.e., 0. —Underscore (Talk) 01:04, 19 June 2010 (UTC)