2

数億桁(正の整数)の数値を計算したい場合、どのプログラミング言語がそれに最も適していますか?

現在、Pythonを使用していて、スクリプトが実行されており、コーディングは簡単でしたが、速度に懸念があります。

組み立てについてはよくわからないので、最速かもしれませんが、使いたくありません。ここでCは最良の選択ですか?

私が使用しなければならない特定の操作は、*、-、%(mod)、べき乗、等式テスト(ifステートメント)、および基本的なループとある種の出力機能(たとえば、コンソール出力)です。

どうもありがとう。

4

3 に答える 3

4

プレーンCでGMPを使用できますが、多くの動的言語が任意精度の数値にGMPを使用していることに注意してください。Pythonも同様です。Cを使用してもあまり得られない場合があります。

于 2011-09-30T22:12:42.987 に答える
2

C /C++を備えたGMPライブラリ。

http://gmplib.org/

于 2011-09-30T22:13:04.233 に答える
0

これが読み上げるためのあなたのリソースです。これは、C99制限機能を使用しない限り、Cが最速であるという議論に反論します。どちらかといえば、C ++はCよりも高速です。2つの別々であるがシーケンシャルな操作が同じメモリ位置を参照する場合、コンパイラが理解することになります。これにより、コンパイラーは最適化のために操作を並べ替えることができます。これを行うにはFortranが最適のようです。

http://en.wikipedia.org/wiki/Pointer_aliasing

また、FortranがMandelbrotルーチンでC++を吹き飛ばしていることもわかります。しかし、テキスト操作に関しては、C++がトップのようです。

http://shootout.alioth.debian.org/u32/fortran.php

于 2012-04-13T20:45:53.797 に答える