如何在javascript中处理大数字

crs*_*ezf 22 javascript floating-point decimal biginteger bignum

我正在寻找一个处理真实(长,大,巨大,风暴)数字的数学解决方案.我还没有找到任何东西,但我不想认为这个问题目前还没有解决.我正在寻找一个简单的数字解决方案,如Microsoft Excel Precision(30位小数)或BigInteger(Java)解决方案.在Javascript当然.

Tor*_*ben 11

在为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- Scheme算法函数的实现
  • 但是: y = x ^ e mod n没有函数

我没有 亲自测试过:BigNumber(http://jsfromhell.com/classes/bignumber)

  • 用于高精度计算的功能
  • 但是:由于数字作为字符串的内部表示,据说它很慢