Share via


>> (décalage vers la droite), opérateur de bits

Décale vers la droite les bits d'une expression, en conservant le signe.

expression1 >> expression2

Arguments

  • expression1
    Toute expression numérique.

  • expression2
    Toute expression numérique.

Notes

L'opérateur >> décale vers la droite les bits de expression1 du nombre de bits spécifié dans expression2. Le bit de signe de expression1 est utilisé pour remplir les chiffres à partir de la gauche. Les chiffres qui sont décalés vers la droite hors des limites sont supprimés. Le type de données de expression1 détermine le type de données retourné par cet opérateur.

L'opérateur >> masque expression2 pour éviter un décalage trop important de expression1. En effet, si le nombre de positions de décalage était supérieur au nombre de bits dans le type de données de expression1, tous les bits d'origine seraient décalés hors des limites et donneraient un résultat non significatif. Pour garantir que chaque décalage laisse au moins un des bits d'origine, les opérateurs de décalage utilisent la formule suivante pour calculer le nombre réel de positions de décalage : masquer expression2 (avec l'opérateur de bits AND) avec un de moins que le nombre de bits dans expression1.

Exemple

Par exemple, après avoir évalué le code suivant, temp a une valeur de -4: -14 (11110010 dans deux compléments binaires) déplacés vers la droite de deux bits, ce qui est égal à -4 (11111100 dans deux compléments binaires).

var temp
temp = -14 >> 2

Pour illustrer le fonctionnement du masquage, examinons l'exemple suivant.

var x : byte = 15;
// A byte stores 8 bits.
// The bits stored in x are 00001111
var y : byte = x >> 10;
// Actual shift is 10 & (8-1) = 2
// The bits stored in y are 00000011
// The value of y is 3
print(y); // Prints 3

Configuration requise

Version 1

Voir aussi

Référence

<< (décalage vers la gauche), opérateur de bits

>>= (décalage vers la droite), opérateur d'assignation

>>> (décalage vers la droite non signé), opérateur

Concepts

Priorité des opérateurs

Liste des opérateurs

Contrainte par les opérateurs de bits