Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [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 - IMP

Referenz-Navigation

 

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

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


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