Baseline Widely available
Die statische Methode Atomics.xor()
berechnet einen bitweisen XOR mit einem gegebenen Wert an einer bestimmten Position im Array und gibt den alten Wert an dieser Position zurück. Diese atomare Operation garantiert, dass keine anderen Schreibvorgänge erfolgen, bis der modifizierte Wert zurückgeschrieben wird.
// Create a SharedArrayBuffer with a size in bytes
const buffer = new SharedArrayBuffer(16);
const uint8 = new Uint8Array(buffer);
uint8[0] = 7;
// 7 (0111) XOR 2 (0010) = 5 (0101)
console.log(Atomics.xor(uint8, 0, 2));
// Expected output: 7
console.log(Atomics.load(uint8, 0));
// Expected output: 5
Syntax
Atomics.xor(typedArray, index, value)
Parameter
typedArray
Ein Ganzzahlen-Typ-Array. Eines von Int8Array
, Uint8Array
, Int16Array
, Uint16Array
, Int32Array
, Uint32Array
, BigInt64Array
oder BigUint64Array
.
index
Die Position im typedArray
, an der der bitweise XOR berechnet wird.
value
Die Zahl, mit der der bitweise XOR berechnet wird.
Der alte Wert an der gegebenen Position (typedArray[index]
).
TypeError
Wird ausgelöst, wenn typedArray
nicht einer der erlaubten Ganzzahltypen ist.
RangeError
Wird ausgelöst, wenn index
auÃerhalb der Grenzen des typedArray
ist.
Die bitweise XOR-Operation ergibt 1, wenn a
und b
unterschiedlich sind. Die Wahrheitstabelle für die XOR-Operation ist:
a
b
a ^ b
0 0 0 0 1 1 1 0 1 1 1 0
Ein Beispiel: Ein bitweises XOR von 5 ^ 1
ergibt 0100
, was 4 im Dezimalsystem ist.
5 0101 1 0001 ---- 4 0100Beispiele Verwendung von xor
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0] = 5;
Atomics.xor(ta, 0, 1); // returns 5, the old value
Atomics.load(ta, 0); // 4
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4