in reply to Displaying bit-vectors with Most Significant Bits to the left?
One could say that vec produces a packed little-endian integer. The bytes are ordered from most significant to least significant. In other words,
my $m0; vec($m0, $_, 1) = 1 for 0,2,8,9,10;
is equivalent to
my $m0l; vec($m0l, $_, 1) = 1 for 0,2; my $m0h; vec($m0h, $_-8, 1) = 1 for 8,9,10; my $m0 = $m0l . $m0h;
Option 1: Reverse the order of the bytes then convert the bytes to binary one by one.
unpack "B16", scalar reverse $mo
Option 2: Unpack the bytes into a number, and print the binary representation of that number
sprintf "%016b", unpack "v", $m0
|
|---|