- NaN
-
NaN (англ. Not-a-Number) — одно из особых состояний числа с плавающей запятой. В соответствии с IEEE 754, такое состояние задаётся через установку показателя степени в зарезервированное значение. Используется во многих математических библиотеках и математических сопроцессорах. Данное состояние может возникнуть в различных случаях, например, когда предыдущая математическая операция завершилась с неопределённым результатом, или если в ячейку памяти попало не удовлетворяющее условиям число.
К операциям, приводящим к появлению NaN в качестве ответа, относятся:
- все математические операции, содержащие NaN в качестве одного из операндов;
- деление ноля на ноль;
- деление бесконечности на бесконечность;
- умножение ноля на бесконечность;
- сложение бесконечности с бесконечностью противоположного знака;
- вычисление квадратного корня отрицательного числа[1];
- логарифмирование отрицательного числа.
Содержание
Свойства
- NaN не равен ни одному другому значению (даже самому себе[2]); соответственно, самый простой метод проверки результата на NaN — это сравнение полученной величины с самой собой.
- Любая нетривиальная операция, принимающая NaN как аргумент, всегда возвращает NaN вне зависимости от значения других аргументов. Единственными исключениями из этого правила являются функции max и min, которые возвращают значение «второго» аргумента (отличного от NaN).
- Тривиальные операции, являющиеся тождеством, обрабатываются особо: так, например, 1NaN равно 1.
См. также
Примечания
- ↑ в случае, если библиотека, выполняющая эту операцию, не поддерживает либо не настроена на использование комплексных чисел
- ↑ поскольку операции сравнения проходят через библиотечные функции, которые обычно проверяют состояние числа с плавающей запятой
Ссылки
Категория:- Арифметика с плавающей запятой
Wikimedia Foundation. 2010.