2011-01-14 5 views
1

Ich benutze Perl, um eine Ganzzahl vom Benutzer in Binärform zu übersetzen. Wenn zum Beispiel die Benutzereingabe "3735928559" ist (0xdeadbeef in hexadezimaler Darstellung), sollte das Programm vier Zeichen ausgeben, die jeweils in \xde, \xad, \xbe, \xef codiert sind, anstelle von "deadbeef".Drucken Ganzzahlen in 32-Bit feste Länge binär

Ich möchte keine externen Module verwenden, wie kann ich das tun? Vielen Dank.

Antwort

7

Wenn ich richtig verstanden (Sie wollen die vier Bytes 0xDE, 0xAD, 0xBE und 0xEF), versuchen Sie Folgendes:

print pack("N", $input); 
+0

Danke, das ist die Antwort, die ich suche! –

4

Ihre Frage ist nicht ganz klar, aber ich denke, Sie suchen für pack:

my $input = '3735928559'; 
print pack('N', $input); 
Verwandte Themen