>>= (décalage vers la droite), 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, en conservant le signe, et assigne le résultat à la variable.

result >>= expression

result

Toute variable numérique.

expression

Toute expression numérique.

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 les bits de result vers la droite, du nombre de bits spécifié dans expression. Le bit de signe de result 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. 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.

Par exemple, après l'évaluation du code ci-dessous, temp a la valeur -4 puisque 14 (11110010 en binaire) décalé vers la droite de deux bits est égal à -4 (11111100 en binaire).

var temp
temp = -14
temp >>= 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
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
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft