Referenz - NOT
Syntax: NOT Ausdruck
Typ: Operator
Kategorie: Operatoren
NOT vertauscht die Bits im Quellausdruck; aus 1 wird 0 und aus 0 wird 1. NOT wird in Bedingungen eingesetzt, um eine Aussage ins Gegenteil zu verkehren.
Ist 'Ausdruck' vom Typ BOOLEAN, dann wird der Wahrheitswert umgedreht, d. h. NOT TRUE = FALSE und NOT FALSE = TRUE.
NOT kann mithilfe von OPERATOR überladen werden.
Beispiel 1: NOT in einer IF-THEN-Bedingung:
IF (a = 1) AND NOT (b = 7) THEN
PRINT "a = 1 aber b <> 7."
ELSE
PRINT "Moeglich sind..."
PRINT "a <> 1 aber b = 7"
PRINT "a <> 1 und b <> 7"
PRINT "a = 1 aber b = 7"
END IF
Beispiel 2: Logische Inversion einer Zahl mit NOT
DIM AS UBYTE zahl = 100
PRINT zahl, BIN(zahl, 8)
PRINT "---", "--------"
PRINT (NOT zahl) AND 255, BIN(NOT zahl, 8)
GETKEY
Ausgabe:
100 01100100
--- --------
155 10011011
Anmerkung: Das AND 255 bewirkt hier, dass die Zahl wie ein UBYTE behandelt wird; ohne diesen Operator würde FreeBASIC den Ausdruck 'NOT zahl' zu einem INTEGER konvertieren, was das Beispiel weniger anschaulich gestalten würde.
Hinweis: NOT ist keine Funktion. Die Verwendung der Form
Not(Variable)
kann zu Problemen führen. Dazu ein kleines Beispiel:
NOT(0) + 1 wird behandelt wie NOT ((0) + 1), obwohl man diese Interpretation erwarten würde: (NOT 0) + 1
Siehe auch:
AND (Operator), OR (Operator), XOR (Operator), IMP, EQV, Bit-Operatoren / Manipulationen
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|