| &nbsP; |
Große ganze Zahlen |
|
Perl-Modul Math::BigIntx |
|
Beispiel: Potenzen von 2Das Beispiel berechnet beliebig viele Potenzen von 2, hier bis 2^128Das Objekt $z wird mit der Methode Math::BigInt->new() als große ganze Zahl erzeugt und in einer Schleife mit der Methode bmul() verdoppelt. Einige der berechneten Daten verdienen einen Kommentar: 2^8: Byte, kleinste adressierbare Einheit aller derzeitigen PC. 2^21: (Derzeitige) Anzahl von → Unicode-Zeichen 2^24: Anzahl aller → TrueColor-Farben 2^31: Das durchschnittliche Lebensalter eines Menschen in Sekunden ist nur wenig größer. 2^32: Wortbreite der meisten derzeit laufenden PC. Häufig verwendeter Variablen-Typ in allen Programmiersprachen. → IPv4-Adressen und der → Unix-Timestamp verwenden 32 Bit. 2^48: → MAC-Adressen ('Hardware'-Adressen von Netzwerk-Interface) verwenden 48 Bit. 2^49: Größte 2er-Potenz, die mit Standard → Gleitkomma-Zahlen des Typs 'Double Precision' noch fehlerfrei darstellbar ist. Die nächste Zahl 2^50 weist bereits einen Fehler in der letzten Stelle auf. 2^59: Ungefähres Alter unseres Universums in Sekunden 2^64: Wortbreite aller PC neueren Datums. 2^128: Anzahl aller möglichen → IPv6 Adressen |
#!/usr/bin/perl
use strict;use Math::BigInt; my($n); my $z=Math::BigInt->new(1); for ($n=1;$n<=128;$n++) {
$z->bmul(2);
}
print "2^$n.=.$z.\n";
2^1=2
2^2=4 2^8=256 2^21=2097152 2^24=16777216 2^31=2147483648 2^32=4294967296 2^48=281474976710656 2^49=562949953421312 2^50=1125899906842624 2^59=576460752303423488 2^64=18446744073709551616 2^127=170141183460469231731687303715884105728 2^128=340282366920938463463374607431768211456 |
|
|