如何在JavaScript中处理大数字
我正在寻找一个math解决scheme,处理真正(长,大,巨大,风暴)的数字。 我还没有find任何东西,但我不想这个问题在这个时候还没有解决。 我正在寻找一个简单的数字解决scheme,如Microsoft Excel Precision(十进制30)或BigInteger(Java)解决scheme。 在Javascript当然。
看起来这个问题之前已经解决了:
Javascript中处理大数字(BigNum)的标准解决scheme是什么?
http://jsfromhell.com/classes/bignumber
http://www-cs-students.stanford.edu/~tjw/jsbn/
如果你只需要整数,你可以使用BigInteger.js 。
在为ElGamalencryption实现寻找一个大整数库时,我testing了几个库,结果如下:
我推荐这个: Tom Wu的jsbn.js( http://www-cs-students.stanford.edu/~tjw/jsbn/ )
- function全面,速度快
Leemon Baird的大整数库( http://www.leemon.com/crypto/BigInt.js )
- function全面,速度相当快
- 但是:负数表示是越野车!
bignumber.js( MikeMcl/bignumber.html )
- 相当完整的一套function
- 但是:从string转换真正的大数字到BigNumber对象导致无穷大
用于JavaScript的Scheme算术库( https://github.com/jtobey/javascript-bignum )
- JS-实现Schemealgorithm的function
- 但是:对于y = x ^ e mod n没有function
我没有自己testing过这个: BigNumber( http://jsfromhell.com/classes/bignumber )
- 用于高精度模拟的function
- 但是:据说由于数字的内部表示forms是缓慢的
这里有一个用于JavaScript的BigInteger库:
- jsbn.js
(请注意,我没有用过这个,试试看看你的想法。)
Big Integers也有Silent Matt的图书馆 。 它不处理小数。