Полезно ли использовать INE754 с плавающей точкой NaN (не-число) для значений, которые не определены для не-математических причин?Полезно ли использовать NaN с плавающей точкой IEEE754 для значений, которые не заданы?
В нашем случае они еще не установлены, поскольку значения не были получены с какого-либо другого устройства. Контекст представляет собой встроенную систему с использованием значений IEC1131 REAL32. Редактировать: Язык программирования C, поэтому мы, скорее всего, будем использовать NAN и isnanf (x), которые находятся на C99. Хотя нам могут потребоваться некоторые дополнительные искажения, чтобы получить их на уровне совместимости с ОС.
По умолчанию в языках программирования предполагается инициализация переменных с плавающей запятой положительным нулем, внутреннее представление которого - все нули. Это нам не подходит, потому что 0 находится в диапазоне допустимых значений.
Похоже, что это чистое решение для использования NaN, но, возможно, это больше хлопот, чем того стоит, и мы должны выбрать другое значение?
Я не знаю C, но в .NET 1.1 до появления типов с нулевым значением многие люди использовали такие вещи, как минимальное значение (int.MinValue). Проблема с этим заключается в том, что вы должны учитывать его везде и гарантировать, что вы никогда не используете MinValue. Возможно, что-то такое, что существует для C? – RichardOD
Я задал аналогичный (но не тот же) вопрос, возможно, ответы могут вам помочь. http://stackoverflow.com/questions/787828/nan-as-a-special-argument – quinmars