создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

Многоразмерные числа (BigInt) на JavaScript

Работает только с браузерами chrome, firefox от версии 68+ (на 20.3.2021г.)

Метод нашел применение для банковских (и пр.) кодов, которые очень длинные (по 30 символов и больше).

Если разрядность компьютера составляет 32 бита, то число может принимать значение от -2 147 483 648 до 2 147 483 647, если разрядность - 64 бита, то от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Т.е., компьютер (язык программирования) не может работать с числами, разрядность которых больше 18 символов [python умеет снимать ограничения, а php - нет].

JavaScript с новой функцией для биг-чисел для новых браузеров работает, но JavaScript - это клиентская система, она не может записывать в файлы, иначе бы любой человек мог бы редактировать чужие сайты. Здесь нужно применить передачу файлов из js в php.

Итак, BigInt на JavaScript:

Дано число

1234567890123456789012345678 (28-разрядное).

Требуется разделить его на 9.

Если делить без применения BigInt, то получится вот так:

<script>a=1234567890123456789012345678;b=a/9;document.write(b)</script>

А нам требуется видеть всё число целиком с точностью до последнего знака (для расчетов это тоже важно, чтобы не было округлений и ошибок).

Теперь разделим это число с помощью BigInt (в конце дописывается английская маленькая n):

<script>a=BigInt(1234567890123456789012345678n);b=BigInt(a/9n);document.write(b)</script>

Тут еще отбрасывается дробная часть числа.

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting