Книга: Выразительный JavaScript

Числа

Величины числовых типов, это – сюрприз – числа. В программе JavaScript они записываются как

13

Используйте эту запись в программе, и она вызовет к жизни в компьютерной памяти цепочку бит, представляющую число 13.

JavaScript использует фиксированное число бит (64) для хранения численных величин. Число величин, которые можно выразить при помощи 64 бит, ограниченно – то есть и сами числа тоже ограниченны. Для N десятичных цифр количество чисел, которые ими можно записать, равно 10 в степени N. Аналогично, 64 битами можно выразить 2 в 64 степени чисел. Это довольно много.

Раньше у компьютеров памяти было меньше, и тогда для хранения чисел использовали группы из 8 или 16 бит. Было легко случайно превысить максимальное число для таких небольших чисел – то есть, использовать число, которое не помещалось в этот набор бит. Сегодня у компьютеров памяти много, можно использовать куски по 64 бит, и значит, вам надо беспокоиться об этом только, если вы работаете с астрономическими числами.

Правда, не все числа меньше 264 помещаются в число JavaScript. В этих битах также хранятся отрицательные числа – поэтому, один бит хранит знак числа. Кроме того, нам нужно иметь возможность хранить дроби. Для этого часть бит используется для хранения позиции десятичной точки. Реальный максимум для чисел – примерно 1015, что в общем всё равно довольно много.

Дроби записываются с помощью точки.

9.81

Очень большие или маленькие числа записываются научной записью с буквой “e” (exponent), за которой следует степень:

2.998e8

Это 2,998 ? 108 = 299800000.

Вычисления с целыми числами (которые также называются integer), меньшими, чем 1015, гарантированно будут точными. Вычисления с дробями обычно нет. Так же, как число ? (пи) нельзя представить точно при помощи конечного числа цифр, так и многие дроби нельзя представить в случае, когда у нас есть только 64 бита. Плохо, но это мешает в очень специфических случаях. Важно помнить об этом и относиться к дробям как к приближённым значениям.

Оглавление книги

Оглавление статьи/книги

Генерация: 0.061. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз