Показатель JavaScript в числовой путанице - PullRequest
0 голосов
/ 19 июня 2019

Может быть, пришло время для еще одного кофе, но я вижу странную проблему, которую я не ожидал увидеть.

Я читаю JavaScript "Хорошие части", и в разделе грамматики я вижу следующее:

Если числовой литерал имеет экспонентную часть, тогда значение литерала равновычисляется умножением части до e на 10, поднятой в степень части после e.Таким образом, 100 и 1e2 - это одно и то же число.

Из стр.8 из JavaScript: Хорошие части Дуглас Крокфорд.Copyright 2008 Yahoo!Inc., 978-0-596-51774-8.

Я ошибаюсь, полагая, что 2e2 должно равняться 400?

Согласно книге, не так лизначение будет (2 * 10) ^ 2?

В моей консоли он показывает мне 2e2 == 200 .. Моя математика, понимание прочитанного или что-то еще отключено?Нужно ли возвращаться к базовой алгебре?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 19 июня 2019

2e2 интерпретируется как 2*(10^2), а не (2*10)^2.Первый из них оценивается в 2 * 100, что равно 200. Последний оценивается в 20 ^ 2, поэтому вы получаете 400.

0 голосов
/ 19 июня 2019

Здесь часть до е равна 2. Часть после е 2. 10 повышается до мощности детали после того, как e = Math.pow (10,2) равно 100 Таким образом, умножая часть до e на 10, возведенную в степень части после e, составляет 2*Math.pow(10,2) = 200.

...