Многоразмерные числа (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>
Тут еще отбрасывается дробная часть числа.