Was machen diese JavaScript-bitweisen Operatoren?

8
  • x <<= y (x = x << y)
  • x >>= y (x = x >> y)
  • x >>>= y (x = x >>> y)
  • x &= y (x = x & y)
  • x ^= y (x = x ^ y)
  • x |= y (x = x | y)

Was machen diese verschiedenen Betreiber?

    
DarkLightA 26.12.2010, 20:38
quelle

3 Antworten

13
%Vor%

Bit-Verschiebung links bzw. rechts. Wenn Sie sich den linken Operanden als eine binäre Bitfolge vorstellen, verschieben Sie diese um die Anzahl der Bits, die durch den rechten Operanden angezeigt werden, nach links oder rechts.

%Vor%

Diese sind bitweise und , und oder . Sie können sich & und | als Gegenstücke zu && und || vorstellen, außer dass sie ihre Operanden als Bitvektoren behandeln und die logischen Operationen für jedes der Bits ausführen. Es gibt keinen ^^ Operator, aber diese Operation ist "xor" oder " exclusive oder ". Sie können sich "a xor b" als "a oder b, aber nicht beide" vorstellen.

    
asveikau 26.12.2010, 20:45
quelle
5
Matt 26.12.2010 20:40
quelle
2

Hier ist ein Versuch, die Dinge für Anfänger sehr einfach zu machen.

Voraussetzungen

Sie müssen mit dem binären Zahlensystem (Zahlen aus zwei Ziffern) vertraut sein. Wenn Sie nicht sind, dann überprüfen Sie diesen Link zuerst: Ссылка . Falls die vorherige Verbindung unterbrochen wird, kann diese Antwort ein wenig helfen: Ссылка .

Um herauszufinden, wie diese Operatoren funktionieren, müssen Sie wissen, welche Bitfolge hinter den Zahlen steht, die an der Operation beteiligt sind. Danach sollten Sie in der Lage sein, die folgenden Dinge zu verstehen.

Erinnerung

Dezimalziffern und ihre binären Schreibweisen:

%Vor%

Was machen >>> , >> und << ?

Diese Operatoren verschieben eine Bitfolge nach links oder rechts.

%Vor%

Was machen & , | und ^ ?

Diese Operatoren kombinieren die Bits zweier Zahlen, um eine neue Zahl zu erstellen.

%Vor%

Wie funktioniert & ?

Für jedes Bitpaar: Wenn mindestens eines der beiden Bits 0 ist, ist das resultierende Bit 0. Wenn keines der beiden Bits 0 ist, ist das resultierende Bit 1.

%Vor%

Wie funktioniert | ?

Für jedes Bitpaar: Wenn mindestens eines der beiden Bits 1 ist, ist das resultierende Bit 1. Wenn keines der beiden Bits 1 ist, ist das resultierende Bit 0.

%Vor%

Wie funktioniert ^ ?

Für jedes Bitpaar: Wenn die zwei Bits verschieden sind, ist das resultierende Bit 1. Wenn die zwei Bits gleich sind, ist das resultierende Bit 0.

%Vor%     
leaf 19.08.2015 23:07
quelle