Referenz - XOR (Operator)
Syntax A: Ergebnis = Ausdruck1 XOR Ausdruck2
Syntax A: Ausdruck1 XOR= Ausdruck2
Typ: Operator
Kategorie: Operatoren
XOR kann als einfacher (Syntax A) und kombinierter (Syntax B) Operator eingesetzt werden. Syntax B ist eine Kurzform von
Ausdruck1 = Ausdruck1 XOR Ausdruck2
XOR steht für exklusives OR, bzw. "entweder das eine oder das andere". Ähnlich wie OR setzt es im Ergebnis das Bit, wenn eines der beiden Bits in Ausdruck1 und Ausdruck2 gesetzt ist; wenn jedoch beide gesetzt sind, wird das Bit im Ergebnis nicht gesetzt. Ebenso wird es nicht gesetzt, wenn beide Bits in den Ausdrücken nicht gesetzt sind.
XOR wird in Bedingungen verwendet, wenn eine Aussage erfüllt sein muss, jedoch nicht beide erfüllt sein dürfen.
Nur wenn beide Operanden vom Typ BOOLEAN sind, wird ein BOOLEAN zurückgegeben.
XOR kann mithilfe von OPERATOR überladen werden.
Beispiel 1: XOR in einer IF-THEN-Bedingung:
IF (a = 1) XOR (b = 7) THEN
PRINT "Entweder a = 1 oder b = 7, aber nicht beides zugleich."
ELSE
PRINT "a <> 1 und b <> 7 oder a = 1 und b = 7."
END IF
Beispiel 2: Kontravalenz zweier Zahlen mit XOR:
DIM AS INTEGER z1, z2
z1 = 6
z2 = 10
PRINT z1, BIN(z1, 4)
PRINT z2, BIN(z2, 4)
PRINT "---", "----"
PRINT z1 XOR z2, BIN(z1 XOR z2, 4)
SLEEP
Ausgabe:
6 0110
10 1010
--- ----
12 1100
Beispiel 3: XOR als kombinierter Operator
DIM AS INTEGER Checkboxen
' simuliere Anklicken von Checkbox Nr 5:
Checkboxen XOR= (1 SHL 5)
Wie Sie sehen, kann XOR benutzt werden, um ein einzelnes Bit oder mehrere Bits bequem zu invertieren. Der Ausdruck (1 SHL 5) entspricht &b100000. Ein XOR mit 0 bewirkt, dass der Status des Bits erhalten bleibt; ein XOR mit 1 löscht ein gesetztes Bit und setzt eines, das zuvor nicht gesetzt war.
Unterschiede zu QB:
Kombinierte Operatoren sind neu in FreeBASIC.
Siehe auch:
XOR (Methode), AND (Operator), NOT, OR (Operator), IMP, EQV, Bit-Operatoren / Manipulationen
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|