Carsten: Bit-Operatoren

Beitrag lesen

Hallo Christoph!

Die bit shift Operatoren arbeiten eigentlich mit Zahlen.
Also geht´s nicht mit Zeichenketten?
Weiss ich nicht, aber offenbar nicht. [...]

Nein geht nicht. Was passiert:

x = "Hallo" <<3;

"Hallo" wird in einen Integer umgewandelt(0) und der dann um drei Bit nach links geschoben, was ebenfalls 0 ist. Also, wie von Calocybe vorgeschlagen, Zeichenweise umwandeln, dann bitpfriemeln, dann wieder zurückwandeln.

Ein wenig ärgern wird dich dabei das die resultierenden Zeichen nicht mehr im Wertebereich der 'normalen' Buchstaben liegen.

http://selfhtml.teamone.de/inter/zeichensaetze.htm

& == und, | == oder.

interessant wäre noch das exklusiv oder: ^

Y=A^B;

dann gilt für jedes Bit:
a^b=y
0 0 0
0 1 1
1 0 1
1 1 0

interessant vor allem weil:

Y=A^B;  // A mit B verschlüsseln gibt 'Geheimtext' Y

Z=Y^B;  // und wieder entschlüsseln

jetzt ist Z==A

Gruss,
 Carsten

P.S: B&~A |~B&A == A^B