Gibt es einen Standardweg, um Integer beliebiger Länge in Perl zu verwenden? Ich arbeite an Code, der x64 Assembly für Tests generiert, und ich bin es leid, 32 Bits gleichzeitig zu manipulieren.
Ich benutze Perl 5.10.0, für das, was es wert ist.
Wenn Sie nur große Ganzzahlen verwenden möchten, können Sie die bigint
verwenden, die Sie in eine Datei einfügen können:
oder nur ein begrenzter Bereich:
%Vor% 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 genau steuern wollen, welche Zahlen die big*
-Mathematik verwenden, können Sie die zugrundeliegenden Klassen, die sie implementieren, selbst erstellen und die Semantik big*
auf alles anwenden. Schau mal, dass Math::Big*
modules.
Ich rede darüber im Kapitel "Benchmarking" von Mastering Perl , da Computer heutzutage zu schnell sind, um eine Fakultät als langsam zu verwenden Funktion, und wir haben auch einen Abschnitt über große Zahlen hinzugefügt, um die bevorstehende Effektive Perl-Programmierung, 2. Ausgabe . p>
Tags und Links perl integer arbitrary-precision