A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/Bitwise_XOR below:

Bitweises XOR (^) - JavaScript

Der ^-Operator ist für zwei Arten von Operanden überladen: Zahl und BigInt. Für Zahlen gibt der Operator eine 32-Bit-Ganzzahl zurück. Für BigInts gibt der Operator ein BigInt zurück. Er zwingt zuerst beide Operanden in numerische Werte um und prüft ihre Typen. Er führt ein BigInt-XOR aus, wenn beide Operanden zu BigInts werden; andernfalls konvertiert er beide Operanden in 32-Bit-Ganzzahlen und führt ein bitweises XOR der Zahlen aus. Ein TypeError wird ausgelöst, wenn ein Operand zu einem BigInt, der andere jedoch zu einer Zahl wird.

Der Operator arbeitet auf den Bitdarstellungen der Operanden im Zweierkomplement. Jedes Bit im ersten Operand wird mit dem entsprechenden Bit im zweiten Operand gepaart: erstes Bit zu erstem Bit, zweites Bit zu zweitem Bit und so weiter. Der Operator wird auf jedes Bitpaar angewendet, und das Ergebnis wird bitweise konstruiert.

Die Wahrheitstabelle für die XOR-Operation ist:

x y x XOR y 0 0 0 0 1 1 1 0 1 1 1 0
     9 (base 10) = 00000000000000000000000000001001 (base 2)
    14 (base 10) = 00000000000000000000000000001110 (base 2)
                   --------------------------------
14 ^ 9 (base 10) = 00000000000000000000000000000111 (base 2) = 7 (base 10)

Zahlen mit mehr als 32 Bit haben ihre höchstwertigen Bits verworfen. Zum Beispiel wird die folgende Ganzzahl mit mehr als 32 Bit in eine 32-Bit-Ganzzahl konvertiert:

Before: 11100110111110100000000000000110000000000001
After:              10100000000000000110000000000001

Warnung: Sie können sehen, dass Leute ^ 0 verwenden, um Zahlen auf Ganzzahlen zu kürzen. Bitweises XOR einer beliebigen Zahl x mit 0 gibt x als 32-Bit-Ganzzahl zurück, was zusätzlich führende Bits für Zahlen außerhalb des Bereichs von -2147483648 bis 2147483647 entfernt. Verwenden Sie stattdessen Math.trunc().

Für BigInts gibt es keine Kürzung. Konzeptionell können Sie positive BigInts als mit einer unendlichen Anzahl führender 0-Bits und negative BigInts als mit einer unendlichen Anzahl führender 1-Bits verstehen.


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