web-dev-qa-db-ja.com

JavaScriptで大きな数字を処理する方法

私は本当に(長い、大きな、巨大な、嵐の)数を扱う数学的ソリューションを探しています。まだ何も見つけていませんが、現時点でこの問題が解決されていないと思いたくありません。 Microsoft Excel Precision(10進数30)やBigInteger(Java)ソリューションのような簡単な数値ソリューションを探しています。もちろんJavaScriptで。

23
crsuarezf
20
xscott

ElGamal暗号実装用の大きな整数ライブラリを探している間に、いくつかのライブラリをテストして、次の結果を得ました。

これをお勧めします:Tom Wuのjsbn.js( http://www-cs-students.stanford.edu/ 〜tjw/jsbn /

  • 包括的な機能セットと高速

レモンベアードの大整数ライブラリ( http://www.leemon.com/crypto/BigInt.js

  • 包括的な機能セットとかなり高速
  • BUT:負の数の表現はバグです!

bignumber.js( https://github.com/MikeMcl/bignumber.js

  • かなり完全な関数セット
  • BUT:本当に大きな数値を文字列からBigNumberオブジェクトに変換すると、INFINITYになります

JavaScriptのスキーム算術ライブラリー( https://github.com/jtobey/javascript-bignum

  • JS-Scheme算術関数の実装
  • BUT:y = x ^ e mod nの関数はありません

私はこれを自分でテストしていません:BigNumber( http://jsfromhell.com/classes/bignumber

  • 高精度計算のための関数
  • BUT:文字列としての数値の内部表現のために遅いと言われています
11
Torben

JavaScript用のBigIntegerライブラリがここにあります:

(私はこれを自分で使ったことはありません。試してみて、あなたの考えを見てください。)

3
LukeH

サイレントマットのビッグ整数用の ライブラリ もあります。小数は扱いません。

0