7

Perl で任意の長さの整数を使用する標準的な方法はありますか? テスト用に x64 アセンブリを生成するコードに取り組んでいますが、一度に 32 ビットを操作するのにうんざりしています。

私は Perl 5.10.0 を使っています。

4

2 に答える 2

15

use Math::BigInt

于 2010-01-24T08:31:00.853 に答える
10

大きな整数のみを使用する場合はbigint、ファイルをスコープできる、を使用できます。

 use bigint;

または単に限られた範囲:

 {
 use bigint;
 ...;
 }

大きな浮動小数点数と大きな整数が必要な場合は、bignumプラグマを同じように使用できます。いずれにせよ、これらはプログラムをわずかに遅くします(または、多くの数学を行っている場合は大幅に遅くなります)。したがって、本当に必要な部分にのみ使用する必要があります。ただし、速い方が正しいよりはましではありません。:)

どの数値が数学を使用するかを非常に正確に制御したい場合は、すべてにセマンティクスをbig*適用するのではなく、それらを実装する基礎となるクラスを使用して、自分でオブジェクトを作成できます。そのモジュールbig*を見てください。Math::Big*

これについては、Perlのマスターのベンチマークの章で詳しく説明します。これは、コンピューターが高速すぎて階乗を低速関数として使用できないためです。また、次の効果的なPerlプログラミング、第2版に大きな数のセクションを追加しました。

于 2010-01-24T17:33:52.960 に答える