Opérateur << de décalage gauche au niveau du bit

expression1 << expression2

Convertit expression1 et expression2 en entiers 32 bits et décale tous les bits d'expression1 vers la gauche du nombre d'unités spécifié par l'entier résultant de la conversion d'expression2. Les positions de bits qui sont vidées suite à cette opération sont remplies par des 0 et les bits déplacés vers la gauche sont supprimés. Le fait de décaler une valeur d'une unité vers la gauche revient à la multiplier par 2.

Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule. Les entiers positifs sont convertis en valeur hexadécimale non signée dont la valeur maximale est de 4294967295 ou 0xFFFFFFFF. Les valeurs supérieures au maximum perdent leurs chiffres les plus significatifs lorsqu'elles sont converties, de façon à ce que la valeur demeure à 32 bits. Les nombres négatifs sont convertis en valeur hexadécimale non signée par l'intermédiaire de la notation complément à deux, la valeur minimale étant de -2147483648 ou 0x800000000. Les nombres inférieurs à cette valeur minimale sont convertis en complément à deux avec une plus grande précision et perdent leurs chiffres les plus significatifs.

La valeur renvoyée est interprétée en tant que nombre à complément à deux avec un signe, ce qui signifie que la valeur renvoyée sera un entier compris entre -2147483648 et 2147483647.

Disponibilité : ActionScript 1.0 ; Flash Lite 2.0

Opérandes

expression1 : Number - Nombre ou expression à décaler vers la gauche.

expression2 : Number - Nombre ou expression à convertir en entier compris entre 0 et 31.

Valeur renvoyée

Number - Résultat de l'opération au niveau du bit.

Exemple

Dans l'exemple suivant, l'entier 1 est décalé de 10 bits vers la gauche : x = 1 << 10 Le résultat de cette opération est x = 1024. Ce résultat est dû au fait qu'un 1 décimal égale un 1 binaire, le 1 binaire décalé de 10 bits à gauche est 10000000000 en binaire, et 10000000000 en binaire est 1024 en décimal. Dans l'exemple suivant, l'entier 7 est décalé de 8 bits vers la gauche : x = 7 << 8 Le résultat de cette opération est x = 1792. Ce résultat est dû au fait qu'un 7 décimal égale un 111 binaire, le 111 binaire décalé de 8 bits à gauche est 11100000000 en binaire, et 11100000000 en binaire est 1792 en décimal. Si vous suivez l'exemple suivant, vous remarquez que les bits ont été déplacés de deux espaces vers la gauche :

// 2 binaire == 0010 
// 8 binaire == 1000 
trace(2 << 2); // Renvoie : 8 

Voir aussi

Opérateur >>= de décalage droit au niveau du bit et d'affectation, Opérateur >> de décalage droit au niveau du bit, Opérateur <<= de décalage gauche au niveau du bit et d'affectation, Opérateur >>> de décalage droit non signé au niveau du bit, Opérateur >>>= de décalage droit non signé au niveau du bit et d'affectation