2011-01-12 4 views
3
#!/usr/bin/env perl 
use warnings; 
use 5.012; 

my $var = 1 << 31; 
say unpack("B*", pack("N", $var) ); 

# 10000000000000000000000000000000 

가 어떻게 팩을 얻을 수있는 질문을/팩/압축 해제 - 저 작은 엔디안 - 64 비트 -

my $var = 1 << 63; 

이 같은 출력에서 ​​압축 해제?

# 1000000000000000000000000000000000000000000000000000000000000000 

답변

5
say unpack("B*", pack("Q>", $var)); 

> 강제 Q 빅 엔디안 바이트 순서 (부호없는 64 비트 "쿼드")를 입력.

+1

주 : 1) 쿼드는 64 비트 버전의 perl에서만 사용할 수 있습니다. 2) 바이트 순서 수정자는 Perl 5.10 이상이 필요합니다. –