Печать целых чисел в 32-битном двоичном коде фиксированной длины - PullRequest
1 голос
/ 14 января 2011

Я использую Perl для перевода целого числа, предоставленного пользователем, в двоичную форму.Например, если пользовательский ввод «3735928559» (0xdeadbeef в шестнадцатеричном представлении), программа должна вывести четыре символа соответственно в \xde, \xad, \xbe, \xef вместо «deadbeef».

Я не хочу использовать внешние модули, тогда как я могу это сделать?Спасибо.

Ответы [ 2 ]

7 голосов
/ 14 января 2011

Если я правильно понял (вам нужны четыре байта 0xde, 0xad, 0xbe и 0xef), попробуйте следующее:

print pack("N", $input);
4 голосов
/ 14 января 2011

Ваш вопрос не очень понятен, но я думаю, что вы ищете pack :

my $input = '3735928559';
print pack('N', $input);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...