我正在寻找一个数学解决方案来处理真正的(长的、大的、巨大的、风暴)数字。我还没有找到任何东西,但我不想认为这个问题此时还没有解决。我正在寻找一个简单的 Number 解决方案,例如 Microsoft Excel Precision(30 位小数)或 BigInteger (Java) 解决方案。当然是在 Javascript 中。
如何在javascript中处理大数字
IT技术
javascript
floating-point
decimal
biginteger
bignum
2021-01-14 12:35:10
3个回答
在为 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 的 Scheme 算法库 ( https://github.com/jtobey/javascript-bignum )
- JS-Scheme算术函数的实现
- 但是: y= x^e mod n 没有函数
我自己还没有测试过: BigNumber(http://jsfromhell.com/classes/bignumber)
- 高精度计算函数
- 但是:由于数字作为字符串的内部表示,据说它很慢
还有 Silent Matt 的Big Integers库。它不处理小数。
其它你可能感兴趣的问题