Я ищу математическое решение, которое касается действительно (длинные, большие, огромные, штормовые) числа. Я еще ничего не нашел, но я не хочу думать, что в этот раз эта проблема не решена. Я ищу удобное решение, например Microsoft Excel Precision (30 десятичных знаков) или решение BigInteger (Java). в Javascript, конечно.
Как бороться с большими числами в javascript
Ответ 1
Похоже, что это было решено раньше:
Какое стандартное решение в Javascript для обработки больших чисел (BigNum)?
http://jsfromhell.com/classes/bignumber
http://www-cs-students.stanford.edu/~tjw/jsbn/
Если вам нужны только целые числа, вы можете использовать BigInteger.js.
Ответ 2
При поиске большой целочисленной библиотеки для реализации криптографии ElGamal я протестировал несколько библиотек со следующими результатами:
Я рекомендую этот: Tom Wu jsbn.js(http://www-cs-students.stanford.edu/~tjw/jsbn/)
- Комплексный набор функций и быстрый
Большая целочисленная библиотека Leemon Baird (http://www.leemon.com/crypto/BigInt.js)
- Комплексный набор функций и довольно быстрый
- НО: Негативное числовое представление ошибочно!
bignumber.js(https://github.com/MikeMcl/bignumber.js)
- Довольно полный набор функций
- НО: Преобразование действительно больших чисел из строк в объекты BigNumber приводит к INFINITY
Арифметическая библиотека схемы для JavaScript (https://github.com/jtobey/javascript-bignum)
- JS-реализация арифметических функций схемы
- НО: Нет функции для y = x ^ e mod n
Я не тестировал это самостоятельно: BigNumber (http://jsfromhell.com/classes/bignumber)
- Функции для высокоточных клакуляций
- НО: Он сказал, что он медленный из-за внутреннего представления чисел в виде строк
Ответ 3
Здесь есть библиотека BigInteger для JavaScript:
(Заметьте, что я не использовал это сам. Попробуйте и посмотрите, что вы думаете.)
Ответ 4
Существует также Silent Matt библиотека для больших целых чисел. Он не обрабатывает десятичные знаки.