Не-числа нужны для того, чтобы избавить программистов от необходимости проверять знаменатель на ноль перед каждым делением. Условные операторы до сих пор "дорогие" в плане времени выполнения, а структурных исключений тогда еще не придумали.
Кроме того, всяческие NaN удобны при расчете частично заданных моделей - если неизвестные входные переменные установить в NaN, то те выходные параметры, для расчета которых хватает информации, окажутся числами, а те, значения которых определить нельзя - останутся NaN. Это можно применять, к примеру, в онлайн-калькуляторах, которые делают вычисления по мере ввода информации пользователем.
Мне вот больше интересно, зачем придумали числа +Inf и -Inf. Теория понятна, но вот на практике их всегда приходится обрабатывать так же как и NaN.
no subject
Кроме того, всяческие NaN удобны при расчете частично заданных моделей - если неизвестные входные переменные установить в NaN, то те выходные параметры, для расчета которых хватает информации, окажутся числами, а те, значения которых определить нельзя - останутся NaN. Это можно применять, к примеру, в онлайн-калькуляторах, которые делают вычисления по мере ввода информации пользователем.
Мне вот больше интересно, зачем придумали числа +Inf и -Inf. Теория понятна, но вот на практике их всегда приходится обрабатывать так же как и NaN.