Search code examples
c#floating-pointdivide-by-zero

Why does C# allow dividing a non-zero number by zero in floating-point type?


Why C# allows:

1.0 / 0 // Infinity

And doesn't allow:

1 / 0 // Division by constant zero [Compile time error]

Mathematically, is there any differences between integral and floating-point numbers in dividing by zero?


Solution

  • According to Microsoft, "Floating-point arithmetic overflow or division by zero never throws an exception, because floating-point types are based on IEEE 754 and so have provisions for representing infinity and NaN (Not a Number)."

    More on this here.