Wie in der Lektion Datentypen und Variablenoperationen erwähnt kann der Datentyp 'bool' 2 Werte halten: 'true' (wahr) oder 'false' (falsch). Diese Eigenschaft bietet sich an, wenn Sie beispielsweise zwei Variablen miteinander vergleichen wollen oder wenn Sie einen Status halten wollen (in welcher Form auch immer). Zunächst werde ich auf de Operationen die mit dem Datentyp 'bool' einhergehen vorstellen. Sie lassen sich mit den logischen Bitoperationen (NOT, AND, OR und XOR) aus der letzten Lektion vergleichen.
Für den Datentyp sehen die Operationen wie folgt aus:
Operation |
Operator |
Anwendung |
NOT | ! | b = !a; |
AND | && | c = a && b; |
OR | || | c = a || b; |
Die zuvor kennen gelernten Operationen lassen sich bis auf die NOT-Operation ('~') auch für den Datentyp verwenden. Das gilt auch für die damit verbundenen Abkürzungsoperationen. Das gilt deswegen weil true 1 und false 0 entspricht.
Das logische NOT-Gatter:
B = !A;
A | B = !A |
true | false |
false | true |
Das logische AND-Gatter:
C = A && B;
A | B | C = A && B |
true | false | false |
true | true | true |
false | false | false |
false | true | true |
C ist nur 'true' wenn sowohl A als auch B 'true' sind.
Das logische OR-Gatter:
C = A || B;
A | B | C = A || B |
true | false | true |
true | true | true |
false | false | false |
false | true | true |
C ist immer dann 'true' wenn mindestens eine Bedingung also A oder B 'true' ist.
Nun gibt es Operationen, welche zum Vergleichen von Werten entweder wahr oder falsch, d.h. 'true' oder 'false' liefern. Folgende Operationen sind definiert (und eigentlich selbsterklärend):
Operation | Operator | Anwendung | Beispiel |
gleich | == | a == b | 2 == 3 -> false oder 1 == 1 -> true |
ungleich | != | a != b | 1 != 5 -> true oder 5 != 5 -> false |
größer | > | a > b | 1 > 3 -> false oder 3 > 1 -> true |
kleiner | < | a < b | 2 < 5 -> true oder 2 < 2 -> false |
größer oder gleich | >= | a >= b | 2 >= 5 -> false oder 2 >= 2 -> true |
kleiner oder gleich | <= | a <= b | 2 <= 2 -> true oder 5 <= 2 -> false |
Die aus solchen Vergleichen entstehenden Aussagen lassen sich beispielsweise in einer 'bool'-Variable speichern:
bool b; //1 b = (5 < 6); //2: b = true; b = (3 >= 3); //3: b = true; b = (3 != 3); //4: b = false;
Der Datentyp 'bool' wird wohl erst bei Schleifen und der 'if'-Anweisung interessant. Hier wurden Sie vornehmlich in die logischen -und in die Vergleichsoperationen eingeführt. Diese werden für die nächsten Lektionen interessant.