Share via


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

Décale la valeur d'une variable vers la droite, du nombre de bits spécifié dans la valeur d'une expression, sans conserver le signe, et assigne le résultat à la variable.

result >>>= expression

Arguments

  • result
    Toute variable numérique.

  • expression
    Toute expression numérique.

Notes

L'emploi de cet opérateur est presque équivalent à celui de result = result >>> expression, sauf que result n'est évalué qu'une seule fois.

L'opérateur >>>= décale vers la droite les bits de result du nombre de bits spécifié dans expression. Des zéros sont remplis à partir de la gauche. Les chiffres qui sont décalés vers la droite hors des limites sont supprimés. L'opérateur masque expression pour éviter un décalage trop important de result. En effet, si le nombre de positions de décalage était supérieur au nombre de bits dans le type de données de result, 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 expression (avec l'opérateur de bits AND) avec un de moins que le nombre de bits dans result.

Exemple

Par exemple :

var temp
temp = -14
temp >>>= 2

Le temp variable a la valeur initiale -14 (11111111 11111111 11111111 11110010 dans un binaire de complément à deux). Lorsqu'il est déplacé de deux bits vers la droite, la valeur égale 1 073 741 820 (00111111 11111111 11111111 11111100 en binaire).

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
x >>>= 10;
// Actual shift is 10 & (8-1) = 2
// The bits stored in x are 00000011
// The value of x is 3
print(x); // Prints 3

Configuration requise

Version 1

Voir aussi

Référence

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

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

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

=, opérateur d'assignation

Concepts

Priorité des opérateurs

Liste des opérateurs

Contrainte par les opérateurs de bits