<<= (décalage vers la gauche), opérateur d'assignation
Mise à jour : novembre 2007
Décale la valeur d'une variable vers la gauche, du nombre de bits spécifié dans la valeur d'une expression, 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 les bits de result vers la gauche, du nombre de bits spécifié dans expression. 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
La variable temp a la valeur 56 puisque 14 (00001110 en binaire) décalé vers la gauche de deux bits est égal à 56 (00111000 en binaire). Les bits sont remplis de zéros lors du décalage.
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 00111100
// The value of x is 60
print(x); // Prints 60
Configuration requise
Voir aussi
Concepts
Référence
<< (décalage vers la gauche), opérateur de bits
>> (décalage vers la droite), opérateur de bits