AstraRegul
Релиз 2024.08.31.00
×

Специальные значения

 

NaN

 
NaN (Not-a-Number) – это особое значение числа с плавающей запятой, которое показывает, что результат операции либо не определен, либо его нельзя представить значением вещественного типа.
 
При каких условиях возникает NaN:
 
Один из аргументов операции равен NaN.
Один из аргументов операции имеет недопустимое значение. Например, извлечение квадратного корня из отрицательного числа.
Операция не имеет однозначного результата:
деление нуля на ноль;
деление бесконечности на бесконечность;
умножение нуля на бесконечность;
сложение положительной и отрицательной бесконечностей.
 
NaN не равен ни одному другому значению, даже самому себе. Чтобы проверить, является ли число значением NaN, используйте функцию Math.IsNaN.
 
NaN может быть как положительным, так и отрицательным. Чтобы определить знак, используйте функцию Math.SignBit.
 

Бесконечность

 
Infinity (бесконечность) – это особое значение числа с плавающей запятой, которое показывает, что результат операции выходит за границы допустимых значений возвращаемого типа.
 
Например: 1.0 / 0.
 
Чтобы проверить, является ли число значением Infinity, используйте функцию Math.IsInf.
Бесконечность может быть как положительной (+∞), так и отрицательной (-∞). Чтобы определить знак бесконечности, используйте функцию Math.SignBit.
 

Отрицательный ноль

 
Отрицательный ноль (-0) – это значение числа с плавающей запятой, которое может появиться в результате математических операций. Отрицательный ноль равен положительному (обычный ноль) и отличается от него только битом знака.
 
Чтобы определить является ли ноль положительным или отрицательным, нужно вызвать функцию Math.SignBit.
 
В большинстве случаев знак нуля не влияет на результат выполнения операций. Исключение – операции, результат выполнения которых является знаковым нулем или бесконечностью:
1/+0 = +∞;
1/-0 = -∞
-0*1 = -0;
-0/1 = -0