問題タブ [largenumber]

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.

0 投票する
10 に答える
62347 参照

c++ - C ++で大きな数を処理しますか?

C++ で大きな数値入力を処理する最良の方法は何ですか? (例: 10^100)?

アルゴリズムについては、通常は Ruby に切り替え、文字列を使用することもあります。

他に良い方法はありますか?

0 投票する
13 に答える
59886 参照

c# - C# の大きな整数

現在、ここで説明されているように、J# ライブラリから借用java.math.BigIntegerしています。ulongこれまで大きな整数を扱うためにライブラリを使用したことがなかったので、長さの数値であっても、10 倍程度遅いようです。誰かがより良い(できれば無料の)ライブラリを持っていますか、それともこのレベルのパフォーマンスは正常ですか?

0 投票する
3 に答える
4946 参照

php - PHPでbcmath番号を丸める/天井にする/床にする方法は?

この目的のためのライブラリ関数はありますか?私は手動でそれを行い、TDWTF で終わるリスクはありませんか?

0 投票する
4 に答える
3325 参照

c++ - C++での無限ループ

私はC++を学び、小さなプログラムを書いています。以下はそのようなプログラムの1つです。

このプログラムを実行し、入力を適度に小さい絶対値に保つと、期待どおりに動作します。しかし、10000000000などのより大きな入力を入力すると、プログラムは同じ出力を繰り返し吐き出します。入力の組み合わせによっては、動作が不安定になります。例えば:

プログラムは、殺されるまで「10->」を吐き出します。(この特定の入力シーケンスでは、プログラムの出力の速度が不規則に変化します。)また、大きな値の出力は、現在の不正な入力の値だけでなく、以前の正当な入力によって決定されることに気付きました。

どうしたの?(私はプログラムを修正することを気にしません、それは簡単です。私はそれを理解したいです。)

0 投票する
14 に答える
103799 参照

c++ - C++でbigintを実装する方法

プログラミング演習として、C++でbigintクラスを実装したいと思います。これは、longintよりも大きい数値を処理できるクラスです。すでにいくつかのオープンソースの実装があることは知っていますが、自分で書きたいと思います。私は正しいアプローチが何であるかを感じ取ろうとしています。

一般的な戦略は、数値を文字列として取得し、それをより小さな数値(たとえば、1桁)に分割して配列に配置することであることを理解しています。この時点で、さまざまな比較演算子を実装するのは比較的簡単です。私の主な関心事は、足し算や掛け算などをどのように実装するかです。

実際に機能するコードではなく、一般的なアプローチとアドバイスを探しています。

0 投票する
11 に答える
67048 参照

c# - .NET で非常に大きな数を扱う

projecteuler.netの問題を解決しようとしていますが、いくつかの問題に直面し続けています。

1 つ目は、大量の要素を に格納するという問題ですList<t>。リストに大量に保存すると、OutOfMemoryException が発生し続けます。

これらのことを最善の方法で行っていない可能性があることは認めますが、アプリが消費できるメモリ量を定義する方法はありますか?

通常、100,000,000 個の要素を取得するとクラッシュします:S

第二に、いくつかの質問では膨大な数を追加する必要があります。数値が非常に大きくなると思われる ulong データ型を使用しますが、サポートされている最大の int を超えてラップし、負の数値に入ることができます。

信じられないほど大きな数を扱うためのヒントはありますか?

0 投票する
6 に答える
5054 参照

c++ - C++ で非常に大きな数を追加するにはどうすればよいですか?

C++ で非常に大きな数を追加するにはどうすればよいですか?

0 投票する
2 に答える
3721 参照

algorithm - BCD数を10^xで乗算(および除算)するにはどうすればよいですか?

私は大きな(12桁の)BCD番号を持っており、6バイトの配列にエンコードされています-各ニブルは1つのBCD桁です。10 ^ xを掛ける必要があります。ここで、xは正または負になります。

ビットではなくニブルで左または右にシフトすることで実行できることは知っていますが、これは恐ろしい実装です。特に、私が使用しているJavacardではそうです。もっと良い方法はありますか?

0 投票する
6 に答える
355308 参照

python - Python で非常に大きな数を処理する

Python でポーカーのハンドを高速に評価することを検討しています。プロセスをスピードアップする 1 つの方法は、すべてのカードの面とスーツを素数として表し、それらを掛け合わせてハンドを表すことだと思いました。具体的には:

これにより、各ハンドに数値が与えられ、モジュロを介してハンドにキングがいくつあるか、またはハートがいくつあるかがわかります。たとえば、5 つ以上のクラブを含むハンドは、2^5 で均等に分割されます。キングが 4 枚あるハンドは、59^4 で等分されます。

問題は、AcAdAhAsKdKhKs のような 7 枚の手札のハッシュ値が約 62.7 千兆であり、内部的に表現するには 32 ビットよりもかなり多くかかることです。算術演算を実行できるような大きな数値を Python に格納する方法はありますか?

0 投票する
4 に答える
609 参照

c# - 大きな数の型

非常に大きな数を処理する必要があるアプリに取り組んでいます。

いくつかの利用可能な LargeNumber クラスを調べたところ、満足できるクラスがいくつか見つかりました。大きな整数と大きな浮動小数点数のクラスがあります。

一部の数値は小さく、一部は大きいため、数値の長さを確認する価値があるかどうかが問題になります。数値が小さい場合は通常の C# int または double を使用し、大きい場合は他のクラスを使用します。すでにLarge IntegerクラスとLarge Floatクラスを使用しています。小さい数値でもそのまま使用する必要があります。

私の考慮事項は純粋にパフォーマンスです。小さい数字の計算に十分な時間を節約できるので、数字を入れた後に各数字を確認する価値があります.