問題タブ [bignum]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - .NET で非常に大きな整数を表すにはどうすればよいですか?
.NET には、100 階乗などの非常に大きな整数を表現できるクラスが付属していますか? そうでない場合、これを達成するための優れたサードパーティのライブラリは何ですか?
language-agnostic - 大数クラスの最も効率的な実装
double や int64 などの整数データ型では不十分な非常に大きな数の計算を行う場合、そのような大きな数を処理する別のクラスが必要になる場合があります。
これを行う最善の方法について効率的なアルゴリズムを提供したいと思う人はいますか?
visual-c++ - gmp でフロートを追加すると、「正しい」結果が得られます。
以下のコードでmpf_add
は、2 つの浮動小数点値の文字列表現を追加するために使用しています。この時点で私が理解していないのは、その理由2.2 + 3.2 = 5.39999999999999999999999999999999999999
です。gmp
を与えるのに十分賢いと思っていたでしょう5.4
。
gmp がどのようにフロートするかについて、私は何を理解していませんか?
(ところで、これを最初に書いたとき、小数点を挿入する方法がわからなかったので、最後にプラス/マイナスの数字が入ります)
php - PHPで多数を処理する
フェルマーの素数性テストを多数(100,000以上)で使用する場合に必要となるようにべき乗剰余を使用するには、非常に大規模な計算が必要になります。
2つの大きな数(例:62574と62574)を乗算すると、PHPは結果をfloatにキャストするようです。そのモジュラス値を取得すると、奇妙な値が返されます。
PHPにこれらの計算を適切に実行させる方法はありますか?あるいは、大きな数で機能するモジュラス値を見つけるための別の方法はありますか?
c++ - C++でbigintを実装する方法
プログラミング演習として、C++でbigintクラスを実装したいと思います。これは、longintよりも大きい数値を処理できるクラスです。すでにいくつかのオープンソースの実装があることは知っていますが、自分で書きたいと思います。私は正しいアプローチが何であるかを感じ取ろうとしています。
一般的な戦略は、数値を文字列として取得し、それをより小さな数値(たとえば、1桁)に分割して配列に配置することであることを理解しています。この時点で、さまざまな比較演算子を実装するのは比較的簡単です。私の主な関心事は、足し算や掛け算などをどのように実装するかです。
実際に機能するコードではなく、一般的なアプローチとアドバイスを探しています。
bignum - 膨大な数を処理するにはどうすればよいですか?
重複の可能性:
多数のクラスの最も効率的な実装
2^150000 を計算する必要があるとします。明らかに、その数値は int、float、または double のサイズを超えます。通常の数学関数を使用できるが、基本的な数値型を超えるデータ型を作成するにはどうすればよいですか?
これが「使用する言語に依存する」種類の取引である場合。C#と言います。
math - Luaの標準(または最もサポートされている)大きな数(任意精度)ライブラリは何ですか?
四捨五入できない多数の数値を処理しています。Luaの標準的な数学ライブラリを使用すると、内部の制限を超えて精度を維持する便利な方法はないようです。また、大きな数で動作するようにロードできるライブラリがいくつかあることもわかります。
- http://oss.digirati.com.br/luabignum/
- http://www.tc.umn.edu/~ringx004/mapm-main.html
- http://lua-users.org/lists/lua-l/2002-02/msg00312.html(#2と同じである可能性があります)
- http://www.gammon.com.au/scripts/doc.php?general=lua_bc(ただし、ソースが見つかりません)
さらに、バインディングが確立されている場合、Luaから呼び出すことができるCのライブラリが多数あります。
これらのライブラリの1つ以上を使用した経験はありますか?
python - long<->strバイナリ変換
データをコピーするだけで非常に長い数値を文字列に変換するlibはありますか?
これらのワンライナーは遅すぎます:
perl - Perlで二重階乗を計算するにはどうすればよいですか?
ウィキペディアでのDouble Factorialの議論を考えると、Perl 用にこれの bignum バージョンをどこで見つけることができるか、またはそれがどのように記述されるかを提案できる人はいますか?
java - Ruby は BigNum を認識しているのに、なぜ JRuby は BigNum を認識しないのですか?
この大きな整数を入力すると:
ruby 1.86 でコンパイルすると、次のように報告されます。
一方、JRuby (Netbeans では 1.1.4) は驚くべきことに次のように報告しています。
Java には、Ruby の BigNum クラスに対応する BigInteger クラスがあると思いました。もしそうなら、JRuby と ruby が同じ出力を生成することを期待していたでしょう。