Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - XOR (Operator)

Referenz-Navigation

 

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 BefehlsreferenzeintragBOOLEAN sind, wird ein BOOLEAN zurückgegeben.

XOR kann mithilfe von BefehlsreferenzeintragOPERATOR ü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:
BefehlsreferenzeintragXOR (Methode), BefehlsreferenzeintragAND (Operator), BefehlsreferenzeintragNOT, BefehlsreferenzeintragOR (Operator), BefehlsreferenzeintragIMP, BefehlsreferenzeintragEQV, BefehlsreferenzeintragBit-Operatoren / Manipulationen


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 26.06.2007 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 10.10.2015 von Redakteurnemored gespeichert.
  Versionen Versionen