Fonction Perl vec
La description
Cette fonction utilise la chaîne spécifiée EXPR comme vecteur d'entiers non signés. Le paramètre NUMBITS est le nombre de bits qui sont réservés pour chaque entrée dans le vecteur de bits.
Cela doit être une puissance de deux de 1 à 32. Notez que le décalage est le marqueur de la fin du vecteur, et il compte à rebours le nombre de bits spécifié pour trouver le début. Les vecteurs peuvent être manipulés avec les opérateurs logiques au niveau du bit |, & et ^.
Syntaxe
Voici la syntaxe simple de cette fonction -
vec EXPR, OFFSET, BITS
Valeur de retour
Cette fonction renvoie la valeur du champ de bits spécifié par OFFSET.
Exemple
Voici l'exemple de code montrant son utilisation de base -
#!/usr/bin/perl -w
$vec = '';
vec($vec, 3, 4) = 1; # bits 0 to 3
vec($vec, 7, 4) = 10; # bits 4 to 7
vec($vec, 11, 4) = 3; # bits 8 to 11
vec($vec, 15, 4) = 15; # bits 12 to 15
# As there are 4 bits per number this can
# be decoded by unpack() as a hex number
print("vec() Has a created a string of nybbles, in hex: ", unpack("h*", $vec), "\n");
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -
vec() Has a created a string of nybbles, in hex: 0001000a0003000f