Flash Lite 2 |
|||
| Guide de référence du langage ActionScript Flash Lite 2.x > Eléments du langage ActionScript > Opérateurs > Opérateur & (AND) au niveau du bit | |||
expression1 & expression2
Convertit expression1 et expression2 en entiers 32 bits non signés et applique une opération booléenne AND sur chaque bit des entiers entrés en tant que paramètres. Les nombres à virgule flottante sont convertis en entiers en supprimant les chiffres après la virgule. Le résultat est un nouvel entier de 32 bits.
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 également leurs chiffres les plus importants.
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 est un entier compris entre -2147483648 et 2147483647.
Disponibilité : ActionScript 1.0 ; Flash Lite 2.0 - Dans Flash 4, l'opérateur AND (&) a été utilisé pour concaténer les chaînes. A partir de Flash 5, l'opérateur AND (&) est un opérateur AND au niveau du bit. Vous devez utiliser l'opérateur d'addition (+) pour concaténer les chaînes. Les fichiers Flash 4 qui utilisent l'opérateur AND (&) sont mis à jour automatiquement pour utiliser l'opérateur d'addition (+) lorsqu'ils sont importés dans l'environnement de programmation Flash 5 ou plus récent.
Remarque : Le comportement de cet opérateur diffère dans Flash Lite, selon la version. Par exemple, Flash Lite 2.0 prend en charge l'opérateur AND (&) en tant que AND au niveau du bit. Pour concaténer les chaînes dans Flash Lite 2.0, vous devez utiliser l'opérateur d'addition (+). Cependant, Flash Lite 1.x prend en charge l'opérateur AND (&) pour la concaténation des chaînes.
expression1 : Number - Nombre.
expression2 : Number - Nombre.
Number - Résultat de l'opération au niveau du bit.
L'exemple suivant compare la représentation des nombres au niveau du bit et renvoie 1 uniquement si les deux bits ont la valeur 1 à la même position. Dans le code ActionScript suivant, vous ajoutez 13 (binaire 1101) et 11 (binaire 1011) et renvoyez 1 uniquement à la position où les deux nombres ont la valeur 1.
var insert:Number = 13; var update:Number = 11; trace(insert & update); // Renvoie : 9 (ou 1001 binaire)
Pour les nombres 13 et 11, le résultat est 9 car seules les première et dernière positions des deux nombres ont la valeur 1.
L'exemple suivant illustre le comportement de la conversion de la valeur renvoyée :
trace(0xFFFFFFFF); // 4294967295 trace(0xFFFFFFFF & 0xFFFFFFFF); // -1 trace(0xFFFFFFFF & -1); // -1 trace(4294967295 & -1); // -1 trace(4294967295 & 4294967295); // -1
Opérateur d'affectation &= (AND) au niveau du bit, Opérateur ^ (XOR au niveau du bit), Opérateur ^= (affectation XOR au niveau du bit), Opérateur | (OR) au niveau du bit, Opérateur |= d'affectation OR au niveau du bit, Opérateur ~ (NOT) au niveau du bit