Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [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 - EQV

Referenz-Navigation

 

Syntax A: Ergebnis = Ausdruck1 EQV Ausdruck2
Syntax B: Ausdruck1 EQV= Ausdruck2
Typ: Operator
Kategorie: Operatoren

EQV kann als einfacher (Syntax A) und kombinierter (Syntax B) Operator eingesetzt werden. Syntax B ist eine Kurzform von

Ausdruck1 = Ausdruck1 EQV Ausdruck2

EQV (EQuivalent Value) vergleicht zwei Werte Bit für Bit und setzt im Ergebnis nur dann ein Bit, wenn die entsprechenden Bits in beiden Ausdrücken gleichwertig waren. EQV wird in Bedingungen eingesetzt, wenn beide Aussagen denselben Status haben müssen, also entweder beide wahr oder beide falsch sein müssen.

Nur wenn beide Operanden vom Typ BefehlsreferenzeintragBOOLEAN sind, wird ein BOOLEAN zurückgegeben.

EQV kann mithilfe von BefehlsreferenzeintragOPERATOR überladen werden.

Beispiel 1: EQV in einer IF-THEN-Bedingung:

IF (a = 1) EQV (b = 7) THEN
   PRINT "beides erfüllt oder beides nicht erfüllt."
ELSE
   PRINT "Entweder a <> 1 aber b = 7 oder a = 1 aber b <> 7."
END IF

Beispiel 2: Verknüpfung zweier Zahlen mit EQV:

DIM AS INTEGER z1, z2

z1 =  6
z2 = 10

PRINT z1, BIN(z1, 4)
PRINT z2, BIN(z2, 4)
PRINT "---", "----"
PRINT (z1 EQV z2) AND 15, BIN( (z1 EQV z2) AND 15, 4)
SLEEP

Ausgabe:

  6           0110
 10           1010
---           ----
  3           0011

Anmerkung dazu: Die angewandten AND 15 bewirken, dass nur die letzten vier Bits angezeigt werden. Der Grund dafür ist, dass INTEGER-Variablen, je nach Compilerversion, aus 32 bzw. 64 Bit bestehen. Die übrigen Bits werden selbstverständlich auch mit EQV verglichen. Würden diese in dieses Beispiel mit einbezogen, dann würde das Beispiel einen Teil seiner Anschaulichkeit verlieren.

Beispiel 3: EQV als kombinierter Operator

DIM AS UBYTE a

a  = &b00110011
PRINT BIN(a, 8)
a EQV= &b01010101
PRINT "01010101"
PRINT "--------"

PRINT BIN(a, 8)
SLEEP

Ausgabe:

00110011
01010101
--------
10011001

Unterschiede zu QB:
Kombinierte Operatoren sind neu in FreeBASIC.

Siehe auch:
BefehlsreferenzeintragNOT, BefehlsreferenzeintragAND (Operator), BefehlsreferenzeintragOR (Operator), BefehlsreferenzeintragXOR (Operator), BefehlsreferenzeintragIMP, BefehlsreferenzeintragBit-Operatoren / Manipulationen


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