Урок - Тип данных Number в JavaScript
Привет, сегодня в этом уроке мы познакомимся с типами данных в JavaScript и подробно поговорим о типе данных Number. Приятного просмотра, не забудь поставить лайк, подписаться и оставить комментарий.
Транскрипт урока
Числовой, примитивный, тип данных в JavaScript на который выделено 64 бита памяти, этот тип данных помимо целых чисел включает в себя также хранение чисел с плавающей запятой. В других языках числа могут подразделяться на несколько типов, например: Integer, Float, Double или Bignum. Но в JavaScript тип за числа отвечают типы данных number и bigint. О bigint немного позднее.
Запись больших чисел
Для записи больших чисел мы можем использовать букву 'e' для того чтобы сократить число
Отрицательное число после "e" подразумевает деление на 1 с указанным// количеством нулей:
Также большие числа мы можем разделять символом '_' для повышения читаемости.
Специальные числовые значения
Помимо самих чисел к этому типу подразделяются специальные числовые значения такие как: Infinity, -Infinity, NaN.Infinity - является математической бесконечностью, которая больше любого числа.
В JavaScript мы можем делить на 0 и это не вызовет никаких ошибок.
Также мы можем задать Infinity явно.
NaN - not a number.
Мы можем его получить если будем выполнять неправильную математическую операцию или задавать его явно.
Если мы будем выполнять любые математические операции с NaN то получим NaN
Negative numbers
Все числа из предыдущих примеров были положительными. Это не относится к NaN. Положительное число или отрицательное легко проверить через Math.sign.
С отрицательными числами нет никаких проблем, кроме того что для знака минус '-' выделен отдельный бит, из-за чего мы можем попасть в ситуацию с -0
Пример
Аналогично все числа, кроме NaN, могут быть отрицательными.
Также в JavaScript есть возможность работать с шестнадцатеричными, двоичными и восьмеричными числами, но это выходит за рамки сегодняшнего урока.
Неточности в вычислениях
Из 64 бит, отведённых на число, сами цифры числа занимают до 52 бит, остальные 11 бит хранят позицию десятичной точки и один бит – знак. Так что если 52 бит не хватает на цифры, то при записи пропадут младшие разряды.
Аналогичные проблемы с точностью возникают в языках: PHP, Java, C, Perl, Ruby.
P.S. Больше уроков у меня на канале
А дзе BigInt? :c
BigInt это отдельный тип данных в языке JavaScript, о нем будет информация в следующем материал по типам данных в JS