Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Effectue un décalage arithmétique gauche sur un modèle de bits.
Syntaxe
result = pattern << amount
Pièces
result
Obligatoire. Valeur numérique intégrale. Résultat du déplacement du modèle de bits. Le type de données est identique à celui de pattern
.
pattern
Obligatoire. Expression numérique intégrale. Modèle de bits à déplacer. Le type de données doit être un type intégral (SByte
, Byte
, Short
, UShort
Integer
, UInteger
Long
ou ULong
).
amount
Obligatoire. Expression numérique. Nombre de bits à déplacer au modèle de bits. Le type de données doit être Integer
ou étendu à Integer
.
Remarques
Les décalages arithmétiques ne sont pas circulaires, ce qui signifie que les bits décalés d’une extrémité du résultat ne sont pas réintroduites à l’autre extrémité. Dans un décalage arithmétique vers la gauche, les bits décalés au-delà de la plage du type de données de résultat sont ignorés, et les positions de bits libérées à droite sont définies sur zéro.
Pour empêcher un décalage par plus de bits que le résultat peut contenir, Visual Basic masque la valeur d’un masque de amount
taille qui correspond au type de données de pattern
. Le fichier AND binaire de ces valeurs est utilisé pour la quantité de décalage. Les masques de taille sont les suivants :
Type de données de pattern |
Masque de taille (décimal) | Masque de taille (hexadécimal) |
---|---|---|
SByte , Byte |
7 | &H00000007 |
Short , UShort |
15 | &H0000000F |
Integer , UInteger |
31 | &H0000001F |
Long , ULong |
63 | &H0000003F |
Si amount
la valeur est égale à zéro, la valeur est result
identique à la valeur de pattern
. Si amount
elle est négative, elle est considérée comme une valeur non signée et masquée avec le masque de taille approprié.
Les décalages arithmétiques ne génèrent jamais d’exceptions de dépassement.
Remarque
L’opérateur <<
peut être surchargé, ce qui signifie qu’une classe ou une structure peut redéfinir son comportement lorsqu’un opérande a le type de cette classe ou structure. Si votre code utilise cet opérateur sur une telle classe ou structure, veillez à comprendre son comportement redéfini. Pour plus d’informations, consultez Procédures d’opérateur.
Exemple :
L’exemple suivant utilise l’opérateur <<
pour effectuer des décalages de gauche arithmétiques sur les valeurs intégrales. Le résultat a toujours le même type de données que celui de l’expression décalée.
Dim pattern As Short = 192
' The bit pattern is 0000 0000 1100 0000.
Dim result1, result2, result3, result4, result5 As Short
result1 = pattern << 0
result2 = pattern << 4
result3 = pattern << 9
result4 = pattern << 17
result5 = pattern << -1
Les résultats de l’exemple précédent sont les suivants :
result1
est 192 (0000 0000 1100 0000).result2
est 3072 (0000 1100 0000 0000).result3
est -32768 (1000 000 0000 000 0000).result4
est 384 (0000 0001 10000 0000).result5
est 0 (décalé 15 places à gauche).
La quantité de décalage pour result4
est calculée comme 17 ET 15, ce qui correspond à 1.