Wie kann ich Integer beliebiger Länge in Perl verwenden?

7

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.

    
Nathan Fellman 24.01.2010, 08:22
quelle

2 Antworten

10

Wenn Sie nur große Ganzzahlen verwenden möchten, können Sie die bigint verwenden, die Sie in eine Datei einfügen können:

%Vor%

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>     

brian d foy 24.01.2010, 17:33
quelle
15
mob 24.01.2010 08:31
quelle