Referenz - IMP
Syntax A: Ergebnis = Ausdruck1 IMP Ausdruck2
Syntax B: Ausdruck1 IMP= Ausdruck2
Typ: Operator
Kategorie: Operatoren
IMP kann als einfacher (Syntax A) und kombinierter (Syntax B) Operator eingesetzt werden. Syntax B ist eine Kurzform von
Ausdruck1 = Ausdruck1 IMP Ausdruck2
IMP ist ein bitweiser Operator, der dieselbe Funktion hat wie
(NOT a) OR b.
Er wird benutzt, um logische Folgerungen auszuwerten; das Ergebnis-Bit wird nur dann nicht gesetzt, wenn das zweite Operanden-Bit nicht gesetzt ist, während das Erste gesetzt ist.
Nur wenn beide Operanden vom Typ BOOLEAN sind, wird ein BOOLEAN zurückgegeben.
IMP kann mithilfe von OPERATOR überladen werden.
Beispiel 1: IMP in einer IF-THEN-Bedingung:
IF (a = 1) IMP (b = 7) THEN
PRINT "Moeglich sind:"
PRINT "a = 1 und b = 7"
PRINT "a <> 1 aber b = 7"
PRINT "a <> 1 und b <> 7"
ELSE
PRINT "a = 1 aber b <> 7."
END IF
Beispiel 2: Verknüpfung zweier Zahlen mit IMP:
DIM AS INTEGER z1, z2
z1 = 6
z2 = 10
PRINT z1, BIN(z1, 4)
PRINT z2, BIN(z2, 4)
PRINT "---", "----"
PRINT (z1 IMP z2) AND 15, BIN( (z1 IMP z2) AND 15, 4)
SLEEP
Ausgabe:
6 0110
10 1010
--- ----
11 1011
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 Compiler-Version, aus 32 oder 64 Bit bestehen. Die übrigen Bits werden selbstverständlich auch mit IMP verglichen. Würden diese in dieses Beispiel miteinbezogen, würde das Beispiel einen Teil seiner Anschaulichkeit verlieren.
Beispiel 3: IMP als kombinierter Operator
DIM AS UBYTE a
a = &B00110011
PRINT BIN(a, 8)
a IMP= &B01010101
PRINT "01010101"
PRINT "--------"
PRINT BIN(a, 8)
SLEEP
Ausgabe:
00110011
01010101
--------
11011101
Unterschiede zu QB:
Kombinierte Operatoren sind neu in FreeBASIC.
Siehe auch:
NOT, AND (Operator), OR (Operator), XOR (Operator), EQV, Bit-Operatoren / Manipulationen
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|