2011-01-14 4 views
1

나는 Perl을 사용하여 사용자가 제공 한 정수를 이진 형식으로 변환하고 있습니다. 예를 들어 사용자 입력이 "3735928559"(16 진수 표현의 0xdeadbeef) 인 경우 프로그램은 각각 "deadbeef"대신 \xde, \xad, \xbe, \xef으로 인코딩 된 4 개의 문자를 출력해야합니다.32 비트 고정 길이 바이너리로 정수 인쇄하기

외부 모듈을 사용하고 싶지 않다면 어떻게해야합니까? 고맙습니다.

답변

7

내가 잘 이해한다면 (당신은 4 바이트의 0xde, 0xad, 0xbe을 원하고,은 0xEF), 다음 시도 :

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

감사합니다, 이것은 내가 찾고있는 답변입니다! –

4

귀하의 질문은 매우 명확하지 않습니다,하지만 난 당신이 찾고있는 생각 pack에 대한 :

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