LanX has asked for the wisdom of the Perl Monks concerning the following question:
I'm not often working with vec , pack and unpack but whats the way to display a 16 bit-vector with MSB to the left?
DB<138> undef $m0; vec($m0,$_,1)=1 for 0,2,8,9,10 DB<139> p unpack('b16', $m0) # ok LSB left 1010000011100000 DB<140> p unpack('B16', $m0) # MSB, but inside LS + bytes chunks 0000010100000111 DB<142> $x+= 2**$_ for 0,2,8,9,10 DB<144> printf "%016b",$x # what I expected 0000011100000101 DB<145>
well it's documented
B A bit string (descending bit order inside each byte).
but there must be a better way than
DB<184> p reverse unpack ('B8B8',$m0) 0000011100000101 DB<185>
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
FootballPerl is like chess, only without the dice
|
|---|