2016-10-18 5 views

ответ

0

В javascript 0/0 и 1/0 обозначают разделение аргументов типа с плавающей точкой IEEE754.

Эта спецификация с плавающей точкой очень специфична в отношении того, что должно произойти, когда оценивается деление, в котором знаменатель равен нулю. Она возвращает

  1. + бесконечности, если числитель является положительным
  2. -Infinity, если числитель является отрицательным
  3. NaN, если числитель также равен нулю

Следовательно 0/0 является НЭН и 1/0 составляет + бесконечность.

Обратите внимание, что на других языках (например, C, C++ и Java) ваше деление будет иметь место в целочисленной арифметике, а целочисленное деление на ноль не определено.

2

В соответствии с spec

0/0 выходов NaN потому

Разделение нуля на ноль приводит к NaN; деление нуля на любое другое конечное значение приводит к нулю, со знаком, определяемым правилом , уже заявленным выше.

и 1/0 выходов Бесконечность, потому что

Деление ненулевого конечного значения на ноль приводит к подписанному бесконечности. Знак определяется вышеизложенным правилом.

пункт 7 и 8 в разделе 12.6.3.2 Применение/Оператор (неупорядоченный список)

0

0/0 является выражение, математика не может выполнить. поэтому Not_A_Number.

Смежные вопросы