Atomics.xor()
La méthode statique Atomics.xor() calcule le résultat d'un OU exclusif (XOR) binaire entre une valeur donnée et une valeur du tableau partagé à un emplacement donné. Elle renvoie l'ancienne valeur qui était contenue à cette position. Cette opération atomique garantit qu'aucune autre opération d'écriture n'est appliquée tant que la valeur modifiée n'est pas écrite.
Exemple interactif
Syntaxe
js
Atomics.xor(typedArray, index, valeur)
Paramètres
typedArray-
Un tableau typé entier partagé parmi
Int8Array,Uint8Array,Int16Array,Uint16Array,Int32ArrayouUint32Array. index-
La position du tableau
typedArrayà laquelle calculer le OU exclusif binaire. valeur-
La valeur avec laquelle on souhaite calculer le OU exclusif binaire.
Valeur de retour
L'ancienne valeur située à cet emplacement du tableau (typedArray[index]).
Exceptions
- Cette méthode lève
TypeErrorsi le type detypedArrayn'est pas un des types entiers autorisés. - Cette méthode lève
TypeErrorsitypedArrayn'est pas tableau typé partagé. - Cette méthode lève
RangeErrorsiindexest en dehors des limites detypedArray.
Description
L'opération binaire OU exclusif (XOR) renvoie 1 si a et b sont différents. La table de vérité correspondante est :
a |
b |
a ^ b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Par exemple, le calcul d'un OU exclusif binaire entre 5 et 1 (5 ^ 1) renvoie 0100, qui correspond à 4 en notation décimale.
5 0101 1 0001 ---- 4 0100
Exemples
js
var sab = new SharedArrayBuffer(1024);
var ta = new Uint8Array(sab);
ta[0] = 5;
Atomics.xor(ta, 0, 1); // renvoie 5, l'ancienne valeur
Atomics.load(ta, 0); // 4
Spécifications
| Specification |
|---|
| ECMAScript Language Specification # sec-atomics.xor |
Compatibilité des navigateurs
BCD tables only load in the browser