NaN () — одне з особливих значень числа з рухомою комою. Відповідно до стандарту IEEE 754, такий стан задається через встановлення показника ступеня в зарезервоване значення. Використовується у багатьох математичних бібліотеках і математичних співпроцесорах. Цей стан може виникнути в різних випадках, наприклад, коли попередня математична операція завершилася з невизначеним результатом, або якщо в комірку пам'яті потрапило число, що не задовольняє умовам.

До операцій, що призводить до появи NaN як відповіді, належать: Всі математичні операції, що містять NaN як один з операндів; Ділення нуля на нуль; Ділення нескінченності на нескінченність; Множення нуля на нескінченність; Додавання нескінченності до нескінченності протилежного знаку; Обчислення квадратного кореня від'ємного числаУ разі, якщо бібліотека, що виконує цю операцію, не підтримує або не налаштована на використання комплексних чисел..

Властивості NaN не дорівнює жодному іншому значенню (навіть самому собіОскільки операції порівняння проходять через бібліотечні функції, які зазвичай перевіряють стан числа з рухомою комою.); відповідно, найпростіший метод перевірки результату на NaN — це порівняння отриманої величини з самою собою. Будь-яка нетривіальна операція, що приймає NaN як аргумент, завжди повертає NaN незалежно від значення інших аргументів. Єдиними винятками з цього правила є функції max і min, які повертають значення «другого» аргументу (відмінного від NaN). Тривіальні операції, що є тотожністю, обробляються особливо: так, наприклад, 1NaN дорівнює 1.

Див. також Дійсне число Машинна нескінченність Число з рухомою комою NULL (C)

Примітки

Посилання