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