Biginteger

BigINTEGER ist ein beliebiges Länge integer Erweiterungsmodul für Perl.
Jetzt downloaden

Biginteger Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Systemics Ltd
  • Website des Verlags:
  • http://search.cpan.org/~gary/Math-BigInteger-1.0/BigInteger.pod

Biginteger Stichworte


Biginteger Beschreibung

BigInteger ist eine willkürliche ganze Zahl Länge Erweiterungsmodul für Perl. BigInteger ist eine beliebige Länge integer Erweiterungsmodul für Perl.SYNOPSIS Verwendung Math :: BigInteger; Das BigInteger Erweiterungsmodul Zugriff auf Eric Young bignum Bibliothek gibt. Dies ermöglicht eine schnellere Alternative zur Math :: BigInt Bibliothek.Das Basisobjekt in dieser Bibliothek ist ein BigInteger. Es wird verwendet, um einen einzigen großen integer.It zu halten, ist nicht beabsichtigt, dass dieses Paket direkt verwendet werden, sondern durch ein Wrapper-Paket verwendet werden, wie zum Beispiel des Math :: BigInteger class.FUNCTIONSMany der folgenden Funktionen kann in zwei Arten verwendet werden , indem Sie die Funktion auf einem Objekt aufrufen, oder durch die Funktion explizit aufrufen; zum Beispiel, hier sind zwei Möglichkeiten der Zuweisung eines der Summe von $ b und $ c $: $ a-> add ($ b, $ c) oder BigInteger :: add ($ a, $ b, $ c); Creation / routines.new Zerstörung my $ bi = new BigInteger; # Erstellen einer neuen BigInteger Object.clone my $ b = $ a-> clone (); Erstellen Sie ein neues BigInteger-Objekt aus einem anderen BigInteger object.copy Kopie ($ a, $ b) Kopieren Sie ein BigInteger-Objekt my $ another.save data = $ bi-> save (); Speichern ein BigInteger-Objekt als ein MSB-first string.restore my $ bi = BigInteger $ Daten wiederherzustellen; erstellen Sie ein neues BigInteger-Objekt von einem MSB-first string.Comparison functionsucmp UCMP ($ a, $ b); Return -1, wenn $ ist eine weniger als $ b, 0, wenn $ a und $ b sind die gleichen und 1 $ a größer als $ b ist. Dies ist ein unsigned comparison.cmp cmp ($ a, $ b); Return -1, wenn $ a kleiner als $ b, 0, wenn $ a und $ b gleich sind und 1 $ a größer als $ b. Dies ist ein signiertes comparison.Arithmetic Functionsinc $ bi-> inc (); Increment $ bi nach dem anderen: Dezember $ bi-> Dezember (); Decrement $ bi durch ein: add r- $> add ($ a, $ b) in $ a und $ b und gibt das Ergebnis in $ r.mul $ r-> mul ($ a, $ b); Multiplizieren ein von $ B $ und das Ergebnis in $ r zurück. Beachten Sie, dass $ r nicht das gleiche Objekt wie $ A oder $ sein muß b.div div ($ dv, $ rem, $ m, $ d); Dividieren $ m von $ D und gibt das Ergebnis in $ dv und der Rest in $ rem. Entweder von $ dv oder $ rem kann undef sein, in welchem Fall dieser Wert nicht returned.mod $ REM-> mod ($ m, $ d); Finden der Rest von $ $ durch d geteilt m und bringt sie in $ rem . Diese Funktion ist effizienter als div.lshift $ r-> LShift ($ a, $ n); Umschalttaste $ a links von $ n bits.lshift1 $ r-> lshift1 ($ a); Umschalttaste $ a links um 1 Bit. Diese Form ist effizienter als LShift ($ r, $ a, 1) .rshift $ r-> RShift (a $, $ n); Shift ein Recht von $ $ $ n bits.rshift1 r-> rshift1 ($ a) Umschalt ein $ rechts um 1 Bit;. Diese Form ist effizienter als RShift ($ r, $ a, 1) .mod_exp $ r-> mod_exp ($ A, $ p, $ mod); Heben a an die $ p Leistung $ und zurück in den Rest R $, wenn geteilt durch $ m.modmul_recip modmul_recip ($ r, $ x, $ y, $ m, $ i, $ nb); Diese Funktion wird verwendet, um eine effiziente mod_mul Operation auszuführen. Wenn man geht, wiederholt mod_mul mit dem gleichen Modul ausführen lohnt sich, den Kehrwert des Moduls zu berechnen und dann diese Funktion verwenden. Diese Operation nutzt die Tatsache, dass a / b == a * r wobei r der Kehrwert von b ist. Auf modernen Computern ist die Multiplikation sehr schnell und große Anzahl Division ist sehr langsam. $ X wird von $ y multipliziert und dann von $ m geteilt, und der Rest wird in $ r zurückgegeben. $ I ist der reziproke Wert $ m und $ nb ist die Anzahl der Bits als von reziproken zurückgegeben. Mit dieser Funktion wird in mod_exp.mul_mod $ r-> mul_mod ($ A, $ B, $ m); Multiply a durch b $ $ und den Rest in $ r zurück, wenn geteilt durch $ $ m.reciprical r-> reciprical ( $ m); Rückkehr der Kehrwert von $ m in $ r.Miscellaneous Routinesnum_bits my $ size = $ bi-> numBits (); Return die Größe (in Bits) des BigInteger.gcd $ r-> gcd ($ a, $ b) $ r hat den größten gemeinsamen Teiler von $ a und $ b.inverse_modn $ r-> inverse_modn ($ a, $ n); Diese Funktion ein neues BigInteger erstellt und kehrt es in $ r. Diese Zahl ist die inverse mod $ n von $ a. Damit ist gemeint, dass die zurückgegebene Wert $ r erfüllt (a * r)% n == 1. Diese Funktion in der Erzeugung von RSA-Schlüsseln verwendet wird. Anforderungen: · Perl.


Biginteger Zugehörige Software