Verwandlung mit Perl

Ein Problem,welches in der Informatik immer wieder auftritt ist das Umwandeln von Zahlen in unterschiedliche numerische Repräsentationen. Hier kann Perl helfen. Wie immer gibt es aber mehr als einen Weg, um das Problem zu lösen:

Mit dem in Perl eingebauten "0x"-Mechanismus:

$int = 0xCAFE;
$dec = sprintf("%d",$int);
$dec = 0xCAFE;
Unter Verwendung der hex-Funktion:
$int = hex("CAFE");
$dec = sprintf("%d",$int);
$dec = hex("CAFE");
Mit "pack":
$int = unpack("N",pack("H8",substr("0" x 8 . "CAFE",-8)));
$dec = sprintf("%d",$int);
$dec = unpack("N",pack("H8",substr("0" x 8 . "CAFE",-8)));
Mit "sprintf":
$hex = sprintf("%X",3735928559);
$hex = sprintf("%X",3735928559);
$hex = sprintf("%x",3735928559);
$bin = sprintf("%b",3735928559);
$oct = sprintf("%o",3735928559);
Mit "unpack":
$hex = unpack("H*",pack("N",3735928559));
Mit der eingebauten Konvertierung von Zahlen mit führenden Nullen:

$int = 033653337357;
$dec = sprintf("%d",$int);
$dec = 033653337357;
Mit der oct-Function:
$int = oct("33653337357");
$dec = sprintf("%d",$int);
$dec = oct("33653337357");
Mit "ord" und "pack":
my $input = "10110110";
$decimal = ord( "0b$input" );
$decimal = ord(pack('B8','10110110'));
Mit "pack" und "unpack" für lange Zeichenketten
$int = unpack("N",pack("B32",
       substr("0" x 32."11110101011011011111011101111",-32)));

Alle Touren

Schneebergwege

Raxsteige

Geführte Touren

Perl

Literatur

Musik