Как сделать 64-битную целочисленную арифметику в Node.js?

Кто-нибудь есть какие-либо предложения о том, как выполнить арифметику на 64-битных целых чисел в Node.js? Пакет node-int64, похоже, не поддерживает это.

1 ответ

Решение

Javascript не поддерживает 64-битные целые числа, потому что собственный тип числа является 64-битным двойным, что дает всего 53 бита целочисленного диапазона.

Вы можете создавать массивы 32-битных чисел (т.е. Uint32Array) но если бы существовала 64-битная версия, не было бы способа скопировать значения из нее в отдельные переменные.

Есть несколько модулей для обеспечения поддержки 64-битных целых:

Может быть, ваша проблема может быть решена с помощью одной из этих библиотек.

Начиная с версии 10.4.0 NodeJS изначально поддерживает тип BigInt (см. Документацию по MDN BigInt). Они также поддерживают арифметические операции.

Другие вопросы по тегам