Flash Lite 2 |
|||
| Guide de référence du langage ActionScript Flash Lite 2.x > Eléments du langage ActionScript > Opérateurs > Opérateur ~ (NOT) au niveau du bit | |||
~expression
Connu également sous la forme de complément d'opérateur du un ou opérateur de complément au niveau du bit. Convertit l'expression en un entier signé de 32 bits, puis applique un complément à un au niveau du bit. Ainsi, tout bit 0 devient 1 et inversement. Le résultat est un nouvel entier signé de 32 bits.
Par exemple, la valeur hexadécimale 0x7777 est représentée de la façon suivante en binaire : 0111011101110111
La négation au niveau du bit de cette valeur hexadécimale, ~0x7777, renvoie : 1000100010001000
En hexadécimal, ceci se traduit par 0x8888. Par conséquent, ~0x7777 donne 0x8888.
L'utilisation la plus répandue des opérateurs au niveau du bit consiste à représenter les bits indicateurs (valeurs booléennes contractées sur 1 bit).
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 est un entier compris entre -2147483648 et 2147483647.
Disponibilité : ActionScript 1.0 ; Flash Lite 2.0
expression : Number - Nombre.
Number - Résultat de l'opération au niveau du bit.
L'exemple suivant décrit l'utilisation de l'opérateur NOT (-) au niveau du bit avec les bits indicateurs :
var ReadOnlyFlag:Number = 0x0001; // Définit le bit 0 en tant qu'indicateur //de lecture seule var flags:Number = 0; trace(flags); /* Pour définir l'indicateur de lecture seule dans la variable flags, le code suivant exploite l'opérateur OR au niveau du bit : */ flags |= ReadOnlyFlag; trace(flags); /* Pour supprimer l'indicateur de lecture seule dans la variable flags, créez tout d'abor un masque à l'aide de l'opérateur NOT au niveau du bit sur ReadOnlyFlag. Dans le masque, chaque bit est un 1, à l'exception de l'indicateur de lecture seule. Ensuite, utilisez l'opérateur AND au niveau du bit avec le masque pour supprimer l'indicateur de lecture seule. Le code suivant crée le masque et applique l'opérateur AND au niveau du bit : */ flags &= ~ReadOnlyFlag; trace(flags); // Renvoie : 0 1 0
Opérateur & (AND) au niveau du bit, 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