Pack / unpack - litle endian - 64bit - question

#!/usr/bin/env perl
use warnings;
use 5.012;

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

# 10000000000000000000000000000000

How can I get the package / unpack from

my $var = 1 << 63;

a conclusion like this?

# 1000000000000000000000000000000000000000000000000000000000000000
+3
source share
1 answer
say unpack("B*", pack( "Q>", $var ));

>forces large byte order of bytes to Q(unsigned 64-bit quad) type.

+5
source

Source: https://habr.com/ru/post/1785019/


All Articles