РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
401 of 1593 menu

Функция math.NaN

Функция math.NaN возвращает значение типа float64, представляющее собой специальное состояние "не число" (Not-a-Number) в стандарте IEEE 754. Это значение используется для обозначения результатов операций, которые не имеют математического смысла, например, деление нуля на ноль, умножение нуля на бесконечность или вычисление квадратного корня из отрицательного числа.

Функция не принимает никаких параметров и всегда возвращает одно и то же значение NaN.

Синтаксис

math.NaN()

Пример

Давайте создадим значение NaN с помощью функции math.NaN и выведем его на экран:

package main import ( "fmt" "math" ) func main() { nan := math.NaN() fmt.Println(nan) }

Результат выполнения кода:

"NaN"

Пример

Значение NaN обладает уникальным свойством: оно не равно самому себе. Давайте проверим это с помощью оператора сравнения:

package main import ( "fmt" "math" ) func main() { nan := math.NaN() res := nan == nan fmt.Println(res) }

Результат выполнения кода:

false

Пример

Для проверки, является ли значение NaN, следует использовать специальную функцию math.IsNaN, а не оператор сравнения. Давайте рассмотрим это на примере:

package main import ( "fmt" "math" ) func main() { nan := math.NaN() if math.IsNaN(nan) { fmt.Println("Value is NaN") } }

Результат выполнения кода:

"Value is NaN"

Пример

Любая арифметическая операция с участием NaN также возвращает NaN. Давайте проверим это, сложив NaN с обычным числом:

package main import ( "fmt" "math" ) func main() { nan := math.NaN() res := nan + 10.0 fmt.Println(math.IsNaN(res)) }

Результат выполнения кода:

true

Смотрите также

  • функцию math.IsNaN,
    которая проверяет, является ли число значением "не число"
  • функцию math.IsInf,
    которая проверяет, является ли число бесконечностью
  • функцию math.Inf,
    которая возвращает положительную или отрицательную бесконечность
  • функцию math.Max,
    которая возвращает большее из двух чисел
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить