Bool'scher Wert
Ein bool’scher Wert (boolean) kann die logischen Zustände falsch (0) und wahr (1 bzw. !=0) annehmen.
Die logischen Operatoren or, and und not arbeiten mit diesen zwei Zuständen (dargestellt als Wahrheitstabelle):
or | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 1 |
and | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | |
---|---|---|
not | 1 | 0 |
Die Theorie der funktionalen Vollständigkeit besagt, dass sich sämtliche weiteren Operatoren und Berechnungen aus diesen drei Grundoperatoren ableiten lassen. Das läßt sich sogar soweit fortführen, dass schon die logische Funktion nand funktional vollständig ist, man kann also im Prinzip eine CPU nur aus NAND-Gattern aufbauen.
nand | 0 | 1 |
---|---|---|
0 | 1 | 1 |
1 | 1 | 0 |
Der Bool’sche Datentyp ist nach Georg Boole benannt, der als erster ein derartiges algebraisches LogikkalkĂĽl beschrieb.
Bool’sche Variablen nennt man auch Merker (Flags).
Die Programmiersprache Pascal (nach Blaise Pascal) unterstĂĽtzt diesen Typ von Haus aus, die Programmiersprache C jedoch nicht, man muss sich die notwendigen Bezeichner selbst definieren:
#define FALSE 0 #define TRUE 1 #define bool unsigned char