Opérateur ^ (XOR au niveau du bit)

expression1 ^ expression2

Convertit expression1 et expression2 en entiers 32 bits non signés et renvoie un 1 pour chaque position de bit où les bits correspondants de expression1 ou expression2, mais pas les deux, ont la valeur 1. Les nombres à virgule flottante sont convertis en entiers en supprimant tous les chiffres situés 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 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.

expression2 : Number - Nombre.

Valeur renvoyée

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

Exemple

L'exemple suivant utilise l'opérateur XOR au niveau du bit sur les décimales 15 et 9 et affecte le résultat à la variable x :

// 15 décimal = 1111 binaire 
// 9 décimal = 1001 binaire 
var x:Number = 15 ^ 9; 
trace(x); 
// 1111 ^ 1001 = 0110 
// Renvoie le nombre décimal 6 (0110 en binaire) 

Voir aussi

Opérateur & (AND) au niveau du bit, Opérateur d'affectation &= (AND) 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