Ein
Boolean
[
?buːli?n
], benannt nach
George Boole
, ist ein Element einer
booleschen Algebra
. Eine Sonderform mit nur zwei Zustanden ist in der
Digitaltechnik
die
Schaltvariable
(
englisch
switching variable
) bzw. bei der
Programmierung
der boolesche
Datentyp
zur Darstellung der logischen
Wahrheitswerte
wahr
und
falsch
.
Eine
boolesche Variable
im Allgemeinen ist eine
Variable
, die nur endlich viele Werte oder Zustande annehmen kann: Mit seinem Werk
The Mathematical Analysis of Logic
von 1847 legte George Boole einen Grundstein fur die
formale Logik
und die Rechentechnik. Die Menge dieser Werte bildet einen
Zeichenvorrat
.
Sonderform der booleschen Algebra ist die
Schaltalgebra
, die
Schaltvariable
kann nur einen von wenigen Werten annehmen:
- Hier sind es meist zweiwertige (binare) boolesche Variablen ? in der Fachsprache versteht man unter
boolescher Variable
im Allgemeinen eine Schaltvariable im engeren Sinne. Dieses
dichotome
Wertepaar wird je nach Anwendung u. a. als
wahr/falsch
bzw.
true/false
(
Aussagenvariable
), oder
1/0
(
Binarzahl
) bezeichnet. In der
elektronischen Datenverarbeitung
werden die beiden Werte mit Spannungs- oder Strompegeln dargestellt:
HIGH, H
oder
1
bzw.
LOW, L
oder
0
(Null) ? als Schaltung entspricht das
Ein/Aus
, oder aber
?1/1
, was einem
Flipflop
entspricht.
- Daneben gibt es in der Anwendung haufig auch dreiwertige Schaltvariablen in der Form
?1/0/1
(mathematisch eine
vorzeichenbehaftete
einstellige Binarzahl oder ein ternares Zahlensystem
0/1/2
), also
HIGH/NULL/LOW
, etwa in der
Steuerungs- und Regelungstechnik
(
VORWARTS/STOPP/RUCKWARTS
). Boolesche- bzw. Schaltalgebra ist aber prinzipiell uber beliebigem Zeichenvorrat (Wertebereich) moglich.
In der
Digitaltechnik
werden boolesche Werte durch unterschiedliche elektrische
Spannungsbereiche
realisiert. Die konkreten Spannungsgrenzen hangen von der verwendeten Technik ab (z. B.
Transistor-Transistor-Logik
oder
CMOS
).
Im Bereich der
Softwareentwicklung
versteht man unter einem booleschen Ausdruck einen
Ausdruck
, der nur die beiden
Wahrheitswerte
True
und
False
(englisch fur
wahr
und
falsch
) annehmen kann. Solche Werte konnen miteinander
logisch verknupft
und Variablen eines passenden Typs zugewiesen werden. Sie finden bei
Sprunganweisungen
Verwendung um den
Kontrollfluss
zu andern, in der Regel bei
bedingten Anweisungen
oder
Schleifen
.
Viele
Programmiersprachen
stellen dafur einen eigenen Datentyp zur Verfugung, etwa unter der Bezeichnung
boolean
(
Algol 60
,
Pascal
,
Java
,
Lua
,
Ada
,
Visual Basic Classic
,
BASIC
) oder
bool
(
Algol 68
,
C#
,
C++
,
PHP
,
Python
) oder
logical
(
Fortran
). Der Boolean ist ein
elementarer Datentyp
.
Zur Reprasentation eines booleschen Wertes genugt prinzipiell ein einzelnes
Bit
, um die beiden moglichen Zustande zu reprasentieren. Aus technischen Grunden wird jedoch in der Regel eine andere Reprasentation gewahlt, meist abhangig von der
Wortbreite
des verwendeten Systems, wobei bei C++ Vektoren fur diesen Typ optimiert sind. Wird ein boolescher Wert mit einem Ganzzahltyp dargestellt, steht meist 0 fur
falsch
und alles ungleich Null (haufig wird ?1 oder 1 verwendet) fur
wahr
. Anders in der Linux/Unix-Shell-Programmierung: Hier steht ein Wert großer Null fur einen Fehler und im ubertragenen Sinne fur
falsch
, wahrend Null fur einen erfolgreichen Programmaufruf und so fur
wahr
steht.