Christoph: Bit-Operatoren

Beitrag lesen

Hallo.

Ich habe folgende Probleme mit den Bit-Operatoren:
1.
var name = "Name";
var bits = 4;
document.write(name << bits);
document.write(bits >> name);

Verstehe nicht, was Du damit bezweckst.

Nun schreibt der Browser zweimal "0". Kann man Zeichenketten so nicht bearbeiten?

Die bit shift Operatoren arbeiten eigentlich mit Zahlen.

Also geht´s nicht mit Zeichenketten?

Was erwartest Du denn ueberhaupt, was hier herauskommen soll?

Ich dachte hier an eine Ver- und Entschlüsselung. Die Bits der einzelnen ASCII-Codes von Name werden permutiert und später wieder in die richtige Reihenfolge gebracht.

Die Nachricht erscheint nun, wenn die Werte der zwei Variablen (zahl und zahl2) zwei gleiche Nummern sind.

Auch, aber nicht nur. Die Verknuepfung ergibt immer true, wenn mindestens eine Bitposition in beiden Operanden mit 1 besetzt ist.

Also z.B. 2 und 2, 1 und 1, 3 und 3. Außerdem erscheint sie bei -1 und 2, sowie -2 und 4.
Was haben die Bit-Operatoren & und auch | nun zu bedeuten?

Weisst Du denn ueberhaupt, wie eine Zahl als Bitmuster repraesentiert wird?

Ja, weiß ich, sonst würde ich hier nicht derart spezifische Fragen stellen. Beispiel: 17 (00010001)

Was & bedeutet, weiß ich nun. Aber was bedeutet |?

Bei diesem Beispiel z.B. sind die Variablen in JavaScript identisch, da sie beide vom Typ number sind. Gibt es einen Fall, wo zwei Variablen nur gleich, aber nicht identisch sind?

"123" === 123       // false

:-) Es gibt einen Fall.

Was bringt der Operator ~?

Bitweise Negation, also jedes Bit wird einzeln umgedreht. Aber beantworte erstmal die Frage oben.

Habe ich getan.

--
"Wer den freien Genuss von Cannabis befürwortet, nimmt in verantwortungsloser Weise den Tod von Tausenden junger Menschen in Kauf."
    -- Dr. Edmund Stoiber, 1997

Ist das Wiedergeben des Zitats ernst gemeint, oder soll das nur zur allgemeinen Belustigung aller dienen? Ich gehe einfach mal vom zweiten aus.