extractions de bit dans un octet
Bonjour,
Je dois extraire un octet d'un fichier et traiter les 6 1er bits en partant du bit haut.
Je dois ensuite afficher sous sa forme décimale la valeur qui correspond aux 6 bits..
Par exemple si $octet vaut 112 (0x70)
112 = 01110000
Les 6 1Er bits = 011100 = 00011100 = 28 (0x1C)
dans cet exemple je veux donc afficher 28 ...
voici mon code qui fonctionne mais c'est lourdingue ... Peut- on faire plus simple ??
Code:
1 2 3 4 5 6
|
my $octet=substr($fichier,$offset, 1);
my $v=pack('C',ord($octet));
my $w=unpack("B6", $v);
my $resu=ord( pack('B8',"00" . $w));
print $resu; |