Для операции деления в форме X/Y применяется расширение типов для выбора стандартной реализации. Тип результата операции совпадает с типом операндов (после их возможного расширения). Определены следующие стандартные реализации, все они вычисляют частное операндов:
Вещественное деление определено для типов Float и Double. Частное вычисляется по правилам IEEE 754. Следующая таблица определяет возможные комбинации значений операндов и соответствующие им результаты операции. В таблице x и y это положительные конечные значения, а z это частное x и y. Если результирующее значение слишком велико для представления результирующим типом, то z будет бесконечностью. Если результирующее значение слишком мало для представления результирующим типом, то z будет нулем.
| +y | –y | +0 | –0 | +∞ | –∞ | NaN | |
| +x | +z | -z | +∞ | –∞ | +0 | -0 | NaN |
| -x | -z | +z | –∞ | +∞ | -0 | +0 | NaN |
| +0 | +0 | -0 | NaN | NaN | +0 | -0 | NaN |
| -0 | -0 | +0 | NaN | NaN | -0 | +0 | NaN |
| +∞ | +∞ | –∞ | +∞ | –∞ | NaN | NaN | NaN |
| –∞ | –∞ | +∞ | –∞ | +∞ | NaN | NaN | NaN |
| NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
Десятичное деление определено для типа Decimal. Если значение правого операнда равно нулю, то возбуждается исключительная ситуация типа System.DivideByZeroException. Если результирующее значение слишком велико для представления типом Decimal, то возбуждается исключительная ситуация типа System.OverflowException. Если результирующее значение слишком мало для представления типом Decimal, то результат будет нулем.
См.также: