Wikipedia · einfach zusammengefasst · Stand
Boolean
Ein Boolean [ˈbuːliən], benannt nach George Boole, ist ein Element einer booleschen Algebra. Eine Sonderform mit nur zwei Zuständen ist in der …
Inhalt6 Abschnitte
Grundidee
Ein Boolean ist ein Element einer booleschen Algebra. Besonders wichtig ist die Sonderform mit nur zwei Zuständen: In der Digitaltechnik heißt sie Schaltvariable, in der Programmierung boolescher Datentyp. Sie dient dazu, logische Wahrheitswerte wie wahr und falsch darzustellen.
Boolesche Werte sind grundlegend, weil sie einfache Entscheidungen und logische Zustände beschreiben. In technischen Systemen können sie etwa als elektrische Pegel umgesetzt werden, in Programmen steuern sie zum Beispiel Bedingungen und Schleifen.
Boolesche Variablen und Schaltalgebra
Eine boolesche Variable ist allgemein eine Variable, die nur endlich viele Werte oder Zustände annehmen kann. Die Menge dieser möglichen Werte bildet einen Zeichenvorrat. George Boole legte mit seinem Werk The Mathematical Analysis of Logic von 1847 einen Grundstein für die formale Logik und die Rechentechnik.
Eine Sonderform der booleschen Algebra ist die Schaltalgebra. In ihr kann eine Schaltvariable nur einen von wenigen Werten annehmen. Meist sind das zweiwertige, also binäre, Variablen. In diesem engeren Sinn meint „boolesche Variable“ häufig eine Schaltvariable mit genau zwei Zuständen.
Zwei- und dreiwertige Zustände
Das typische zweiwertige Wertepaar wird je nach Anwendung verschieden bezeichnet: wahr/falsch beziehungsweise true/false bei Aussagenvariablen, 1/0 bei Binärzahlen oder HIGH, H oder 1 gegenüber LOW, L oder 0 in der elektronischen Datenverarbeitung. Als Schaltung entspricht das dem Gegensatz Ein/Aus. Auch die Darstellung –1/1 wird genannt; sie entspricht einem Flipflop.
In Anwendungen gibt es außerdem häufig dreiwertige Schaltvariablen, etwa –1/0/1. Mathematisch kann das als vorzeichenbehaftete einstellige Binärzahl oder als ternäres Zahlensystem 0/1/2 verstanden werden. Technisch kann dies HIGH/NULL/LOW bedeuten, zum Beispiel in der Steuerungs- und Regelungstechnik als VORWÄRTS/STOPP/RÜCKWÄRTS. Boolesche Algebra beziehungsweise Schaltalgebra ist grundsätzlich über einem beliebigen Zeichenvorrat, also Wertebereich, möglich.
Umsetzung in der Digitaltechnik
In der Digitaltechnik werden boolesche Werte durch unterschiedliche elektrische Spannungsbereiche dargestellt. Diese Spannungsbereiche heißen Logikpegel.
Welche Spannungsgrenzen genau für die Zustände gelten, hängt von der verwendeten Technik ab, zum Beispiel von Transistor-Transistor-Logik oder CMOS.
Verwendung in der Programmierung
In der Softwareentwicklung ist ein boolescher Ausdruck ein Ausdruck, der nur die beiden Wahrheitswerte True und False, also wahr und falsch, annehmen kann. Solche Werte können logisch miteinander verknüpft und Variablen eines passenden Typs zugewiesen werden.
Boolesche Werte werden vor allem bei Sprunganweisungen genutzt, um den Kontrollfluss eines Programms zu ändern. Typische Fälle sind bedingte Anweisungen und Schleifen. Viele Programmiersprachen haben dafür einen eigenen elementaren Datentyp, zum Beispiel boolean in Algol 60, Pascal, Java, Lua, Ada, Visual Basic Classic und BASIC, bool in Algol 68, C#, C++, PHP und Python oder logical in Fortran.
Speicherung und Zahlenwerte
Für die Darstellung eines booleschen Wertes genügt grundsätzlich ein einzelnes Bit, weil damit zwei Zustände unterschieden werden können. Aus technischen Gründen wird aber meist eine andere Repräsentation gewählt, oft abhängig von der Wortbreite des verwendeten Systems. Bei C++ sind Vektoren für diesen Typ optimiert.
Wenn ein boolescher Wert durch einen Ganzzahltyp dargestellt wird, steht meist 0 für falsch und alles ungleich Null für wahr; häufig werden −1 oder 1 für wahr verwendet. In der Linux- beziehungsweise Unix-Shell-Programmierung ist es anders: Dort steht ein Wert größer Null für einen Fehler und im übertragenen Sinn für falsch, während Null für einen erfolgreichen Programmaufruf und damit für wahr steht.