Почему .Net поддерживает значение «бесконечность» в числах с плавающей запятой?

Сегодня я обнаружил, что 5.0/0 не выдает DivideByZeroException, а возвращает infinity.

Это значение бесконечности можно умножить на -1 и преобразовать в -infinity, а также принять участие в других математических вычислениях бесконечности.

Какая в этом необходимость и каковы практические реализации, которым нужна эта функция?

Математика запрещает делить на 0, бесконечность может быть только при делении на limit->0. Почему они не ввели новую переменную, представляющую математический предел?


person Menelaos Vergis    schedule 16.09.2015    source источник
comment
Это не совсем верно в отношении математики, запрещающей деление на ноль — результатом деления положительного ненулевого значения на число, стремящееся к нулю, является число, стремящееся к бесконечности, а не сама бесконечность.   -  person Enigmativity    schedule 16.09.2015
comment
Бесконечность не число, поэтому шатер до бесконечности и бесконечность одно и то же   -  person Menelaos Vergis    schedule 16.09.2015
comment
en.wikipedia.org/wiki/Division_by_zero#Computer_arithmetic   -  person    schedule 16.09.2015
comment
Математика с плавающей запятой определена в IEEE 754 (en.wikipedia.org/wiki/IEEE_floating_point). Это также должно ответить на ваш вопрос, поскольку определяет такие операции, как деление на ноль.   -  person Jan Henke    schedule 16.09.2015
comment
Хотя деление на ноль строго неопределенно, с математической точки зрения все же может быть полезно иметь возможность программно представлять бесконечности без специальной обработки.   -  person Will Vousden    schedule 16.09.2015
comment
См. эту запись в блоге Эрика Липперта на эту тему — blogs.msdn.com/b/ericlippert/archive/2009/10/15/   -  person Enigmativity    schedule 16.09.2015
comment
Вопрос не полностью дублируется, но ответ на этот вопрос одинаков.   -  person usr    schedule 16.09.2015
comment
@MenelaosVergis - бесконечность - это число. Он определяет количество вещей. Это аналогично тому, как не рассматривать 3.4 как число, когда вы ограничиваете свой набор допустимых чисел целыми числами.   -  person Enigmativity    schedule 16.09.2015
comment
@Enigmativity Если это число, то почему бесконечность - бесконечность не равна 0?   -  person Menelaos Vergis    schedule 16.09.2015
comment
Есть много понятий, называемых бесконечностью. Число не определяется математически. Есть вещи, называемые набором целых чисел или набором вещественных чисел. Бесконечность не входит в эти наборы. Арифметика не определена на бесконечности. en.wikipedia.org/wiki/Infinity Инженеры иногда рассматривают бесконечность как число как удобный ярлык. , это все. В учебнике по математике вы этого не найдете. Бесконечность является частью набора всех чисел с плавающей запятой IEEE, и операции над бесконечностью были сделаны для удобства.   -  person usr    schedule 16.09.2015
comment
@MenelaosVergis - я не понимаю вашего вопроса.   -  person Enigmativity    schedule 16.09.2015