NaN

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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

До операцій, що призводить до появи NaN як відповіді, належать:

  • Всі математичні операції, що містять NaN як один з операндів;
  • Ділення нуля на нуль;
  • Ділення нескінченності на нескінченність;
  • Множення нуля на нескінченність;
  • Додавання нескінченності до нескінченності протилежного знаку;
  • Обчислення квадратного кореня від'ємного числа [1].

Властивості[ред.ред. код]

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

Див. також[ред.ред. код]

Примітки[ред.ред. код]

  1. у разі, якщо бібліотека, що виконує цю операцію, не підтримує або не налаштована на використання комплексних чисел
  2. оскільки операції порівняння проходять через бібліотечні функції, які зазвичай перевіряють стан числа з плаваючою комою

Посилання[ред.ред. код]