2010-01-24 9 views

Antwort

10

Wenn Sie nur große Zahlen verwenden möchten, können Sie die bigint verwenden können, was Sie können in einer Datei -umfang:

use bigint; 

oder nur einen begrenzten Anwendungsbereich:

{ 
use bigint; 
...; 
} 

Wenn Sie sowohl große Fließkommazahlen als auch große Ganzzahlen benötigen, können Sie das Pragma bignum auf die gleiche Weise verwenden. In jedem Fall werden diese Ihr Programm etwas verlangsamen (oder erheblich, wenn Sie viel Mathe machen), also sollten Sie sie nur für die Teile verwenden, wo Sie sie wirklich brauchen. Allerdings ist schneller nicht besser als richtig. :)

Wenn Sie sehr genaue Kontrolle über welche Zahlen die big* Mathe wollen, können Sie die zugrunde liegenden Klassen verwenden, die sie implementieren und Objekte selbst erstellen, anstatt die big* Semantik auf alles anzuwenden. Schau, dass Math::Big* Module.

Ich spreche darüber im Benchmarking-Kapitel von Mastering Perl, da Computer heutzutage zu schnell sind, um eine Fakultät als eine langsame Funktion zu verwenden, und wir fügten auch einen Abschnitt auf großen Zahlen hinzu Effective Perl Programming, 2nd Edition.

15
+4

und möglicherweise 'bigint verwenden;' das macht * jedes * numerische Literal in seinem Bereich ein BigInt ohne 'Math :: BigInt-> new'. Mit Vorsicht verwenden, natürlich. – hobbs

+4

Oder 'bignum;' verwenden, was bigint mit BigFloat erweitert. – Anonymous

Verwandte Themen