Что это за числа в JavaScript: 1e10, 0x10, 0o10, 010, 0b10? Числовые литералы в JavaScript [дубликат]
1,00
р.
р.
На этот вопрос уже даны ответы здесь:
Числа, начинающиеся с нуля, в JavaScript (2 ответа) Что значит число 4.47e+8 ? (4 ответа) Числа, цифры, хексы, буквы и другая каша в голове (2 ответа) Закрыт 1 год назад.
Что это за числа: 0x10, 0o10, 010, 0b10? В какой системе счисления находится каждое число из приведённого списка? Чему равняется каждое число из приведённого списка? Почему та или иная буква используется для конкретного числа? Какие числа / буквы можно использовать при применении литерала? И отдельно про 1e10: Какому математическому выражению равняется 1e10? Где и зачем используется такая запись? Что значит часть с e10?
О вопросе: "Числа, начинающиеся с нуля, в JavaScript". Наши вопросы похожи, но мой вопрос про численные литералы в общем, а "оригинальный", про численные литералы являющиеся восьмеричными числами. EDIT: Теперь я также добавил в запрашиваемую информацию литералы вида 1e10, так что теперь, @Grundy не сможет отмечать мой вопрос как дубликат, так ведь?
Ответ 1. 0x10 Это шестнадцатеричный литерал, он равен 16 т.к. в шестнадцатеричной системе счисления 10 = 16. Латинская буква x используется т.к. в названии есть, собственно говоря, сам x: hexadecimal. Подробнее в википедии. Можно использовать эти буквы и цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, A, B, C, D, E, F 2. 0o10/010 Эти два литерала (0o10 и 010) буквально равны друг другу т.к. оригинальные разработчики JavaScript решили так сделать. Эти литералы используются, чтобы обозначить, то что число в восьмеричной системы счисления, и равны 8. К слову, в JavaScript если попытаться к восьмеричному литералу написать 8 или 9, то тогда JavaScript выдаст ошибку (Пример: 0o48 -> Uncaught SyntaxError: unexpected token: numeric literal). В 0o10 используется o т.к. на английском восьмеричный переводится как octal, а почему 010 сделали восьмеричной, мне не известно. Подробнее в википедии. Можно использовать эти цифры: 0, 1, 2, 3, 4, 5, 6, 7 3. 0b10 А вот этот литерал используется в двоичной системе счисления и он равен 2. Используется b т.к. двоичный переводится как binary. Если в таком числе использовать число которое не равняется 0 или 1, то тогда JavaScript выдаст ошибку. Подробнее на википедии Можно использовать эти цифры: 0, 1 В виде таблицы:
4. 1e10 Объясняя просто, 1e10 это математическое выражение которое в понятном нам виде выглядит так: 1 * (10 ^ 10) (Или так, если вы хотите записать его в JS: 1 * (10 ** 10)). Есть много видов записи такого литерала, вот некоторые из них (примеры с тысячей): 1e3 = 1000 1e-3 = 0.001 Часто такие литералы могут использоваться при минимизации (минификации) кода, т.к. позволяют сохранить пару байт. В совокупности с вышесказанным, отвечаю на вопрос, e10 значит умножить на 10 возведя в 10 степень (1 * 10 ** 10) P.S. У таких литералов буква в начале также может записываться как заглавная, на работу это никак не влияет. (Примеры: 0X10, 0O10, 0B10, 1E10)