Extraction de bits ou champs de bits d'un nombre entier
Pour extraire un bit individuel voir Extraire des bits d'un signal ou des éléments d'un tableau.
Vous pouvez exécuter les actions suivantes :
Pour extraire un bit individuel d'un entier
- Décalez l'entier de telle sorte que le bit qui vous intéresse soit à la position 0.
-
Appliquez un ET bit par bit avec 1 pour isoler le bit individuel.
singleBit = (inputsignal >> BIT)& 1
Pour extraire un champ de bits d'un signal
- Décalez le signal d'entrée de telle sorte que le bit le moins significatif (LEAST_SIGNIFICANT_BIT) du champ de bits que vous voulez extraire soit en position 0.
-
Isoler le NUMBER_OF_BITS (nombre de bits) du champ de bits en appliquant un ET bit par bit avec un masque de bits.
bitfield = Binary_RightShift(inputsignal, LEAST_SIGNIFICANT_BIT) & ~(Binary_LeftShift(~0, NUMBER_OF_BITS))
Voir également