Zum Inhalt springen

„Boolean“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
Artikel verlinkt oder nach oben gezogen / Kleinigkeiten / + Belege fehlen
Zeile 1: Zeile 1:
{{Belege fehlen}}
Ein '''Boolean''' [{{IPA|ˈbuːliən}}], benannt nach [[George Boole]], ist ein Element einer [[Boolesche Algebra|booleschen Algebra]]. Eine Sonderform mit nur zwei Zuständen ist in der [[Digitaltechnik]] die '''Schaltvariable''' ({{enS|switching variable}}) bzw. bei der [[Programmierung]] der boolesche [[Datentyp]] zur Darstellung der logischen [[Wahrheitswert]]e ''wahr'' und ''falsch''.
Ein '''Boolean''' [{{IPA|ˈbuːliən}}], benannt nach [[George Boole]], ist ein Element einer [[Boolesche Algebra|booleschen Algebra]].<ref name="Mathes22">{{Literatur |Autor=Markus A. Mathes, Jochen Seufert |Titel=Programmieren in C++ für Elektrotechniker und Mechatroniker |Verlag=Springer Vieweg |Ort=Wiesbaden |Datum=2022 |Sprache=de |ISBN=978-3-658-38500-2 |Kapitel=Kapitel&nbsp;9.1: Elementare Datentypen&nbsp;– Boolesche Werte |Seiten=45f |DOI=10.1007/978-3-658-38501-9}}</ref> Eine Sonderform mit nur zwei Zuständen ist in der [[Digitaltechnik]] die '''Schaltvariable''' ({{enS|switching variable}}) bzw. bei der [[Programmierung]] der boolesche [[Datentyp]] zur Darstellung der logischen [[Wahrheitswert]]e ''wahr'' und ''falsch''.


== Grundlagen: boolesche Mathematik und Schaltalgebra ==
== Grundlagen: boolesche Mathematik und Schaltalgebra ==
Zeile 5: Zeile 6:


Sonderform der booleschen Algebra ist die [[Schaltalgebra]], die ''Schaltvariable'' kann nur einen von wenigen Werten annehmen:
Sonderform der booleschen Algebra ist die [[Schaltalgebra]], die ''Schaltvariable'' kann nur einen von wenigen Werten annehmen:
* Hier sind es meist zweiwertige (binäre) boolesche Variablen – in der Fachsprache versteht man unter ''boolescher Variable'' im Allgemeinen eine Schaltvariable im engeren Sinne. Dieses [[Dichotomie|dichotome]] Wertepaar wird je nach Anwendung u. a. als <code>wahr/falsch</code> bzw. <code>true/false</code> ([[Aussagenvariable]]), oder <code>1/0</code> ([[Binärzahl]]) bezeichnet. In der [[Elektronische Datenverarbeitung|elektronischen Datenverarbeitung]] werden die beiden Werte mit Spannungs- oder Strompegeln dargestellt: <code>HIGH, H</code> oder <code>1</code> bzw. <code>LOW, L</code> oder<code> 0</code> (Null) – als Schaltung entspricht das <code>Ein/Aus</code>, oder aber <code>–1/1</code>, was einem [[Flipflop]] entspricht.
* Hier sind es meist zweiwertige (binäre) boolesche Variablen – in der Fachsprache versteht man unter ''boolescher Variable'' im Allgemeinen eine Schaltvariable im engeren Sinne. Dieses [[Dichotomie|dichotome]] Wertepaar wird je nach Anwendung u.&nbsp;a. als <code>wahr/falsch</code> bzw. <code>true/false</code> ([[Aussagenvariable]]), oder <code>1/0</code> ([[Binärzahl]]) bezeichnet. In der [[Elektronische Datenverarbeitung|elektronischen Datenverarbeitung]] werden die beiden Werte mit [[Elektrische Spannung|Spannungs-]] oder [[Elektrischer Strom|Strompegeln]] dargestellt: <code>HIGH, H</code> oder <code>1</code> bzw. <code>LOW, L</code> oder <code>0</code> (Null) – als Schaltung entspricht das <code>Ein/Aus</code>, oder aber <code>–1/1</code>, was einem [[Flipflop]] entspricht.
* Daneben gibt es in der Anwendung häufig auch dreiwertige Schaltvariablen in der Form <code>–1/0/1</code> (mathematisch eine [[Vorzeichen (Zahl)|vorzeichenbehaftete]] einstellige Binärzahl oder ein ternäres Zahlensystem <code>0/1/2</code>), also <code>HIGH/NULL/LOW</code>, etwa in der [[Regelungstechnik|Steuerungs- und Regelungstechnik]] (<code>VORWÄRTS/STOPP/RÜCKWÄRTS</code>). Boolesche- bzw. Schaltalgebra ist aber prinzipiell über beliebigem Zeichenvorrat (Wertebereich) möglich.
* Daneben gibt es in der Anwendung häufig auch dreiwertige Schaltvariablen in der Form <code>–1/0/1</code> (mathematisch eine [[Vorzeichen (Zahl)|vorzeichenbehaftete]] einstellige Binärzahl oder ein [[Ternärsystem|ternäres Zahlensystem]] <code>0/1/2</code>), also <code>HIGH/NULL/LOW</code>, etwa in der [[Steuerungstechnik|Steuerungs-]] und [[Regelungstechnik]] (<code>VORWÄRTS/STOPP/RÜCKWÄRTS</code>). Boolesche- bzw. Schaltalgebra ist aber prinzipiell über beliebigem Zeichenvorrat (Wertebereich) möglich.


== Digitaltechnik ==
== Digitaltechnik ==
In der [[Digitaltechnik]] werden boolesche Werte durch unterschiedliche elektrische [[Elektrische Spannung|Spannungsbereiche]] realisiert. Die konkreten Spannungsgrenzen hängen von der verwendeten Technik ab (z.&nbsp;B. [[Transistor-Transistor-Logik]] oder [[Complementary metal-oxide-semiconductor|CMOS]]).
In der Digitaltechnik werden boolesche Werte durch unterschiedliche elektrische Spannungsbereiche (sog. [[Logikpegel]]) realisiert. Die konkreten Spannungsgrenzen hängen von der verwendeten Technik ab (z.&nbsp;B. [[Transistor-Transistor-Logik]] oder [[Complementary metal-oxide-semiconductor|CMOS]]).


== Programmierung ==
== Programmierung ==
Im Bereich der [[Softwareentwicklung]] versteht man unter einem booleschen Ausdruck einen [[Ausdruck (Programmierung)|Ausdruck]], der nur die beiden [[Wahrheitswert]]e [[Aussagenlogik#Umgangssprachliche Einleitung|''True'' und ''False'']] (englisch für ''wahr'' und ''falsch'') annehmen kann. Solche Werte können miteinander [[Logischer Operator|logisch verknüpft]] und Variablen eines passenden Typs zugewiesen werden. Sie finden bei [[Sprunganweisung]]en Verwendung um den [[Kontrollfluss]] zu ändern, in der Regel bei [[Bedingte Anweisung und Verzweigung|bedingten Anweisungen]] oder [[Schleife (Programmierung)|Schleifen]].
Im Bereich der [[Softwareentwicklung]] versteht man unter einem booleschen Ausdruck einen [[Ausdruck (Programmierung)|Ausdruck]], der nur die beiden Wahrheitswerte [[Aussagenlogik#Umgangssprachliche Einleitung|''True'' und ''False'']] (englisch für ''wahr'' und ''falsch'') annehmen kann. Solche Werte können miteinander [[Logischer Operator|logisch verknüpft]] und Variablen eines passenden Typs zugewiesen werden. Sie finden bei [[Sprunganweisung]]en Verwendung um den [[Kontrollfluss]] zu ändern, in der Regel bei [[Bedingte Anweisung und Verzweigung|bedingten Anweisungen]] oder [[Schleife (Programmierung)|Schleifen]].


Viele [[Programmiersprache]]n stellen dafür einen eigenen Datentyp zur Verfügung, etwa unter der Bezeichnung ''boolean'' ([[Algol&nbsp;60]], [[Pascal (Programmiersprache)|Pascal]], [[Java (Programmiersprache)|Java]], [[Lua]], [[Ada (Programmiersprache)|Ada]], [[Visual Basic Classic]], [[BASIC]]) oder ''bool'' ([[Algol&nbsp;68]], [[C-Sharp|C#]], [[C++]], [[PHP]], [[Python (Programmiersprache)|Python]]) oder ''logical'' ([[Fortran]]). Der Boolean ist ein [[Datentyp#Elementare Datentypen|elementarer Datentyp]].
Viele [[Programmiersprache]]n stellen dafür einen eigenen Datentyp zur Verfügung, etwa unter der Bezeichnung ''boolean'' ([[Algol&nbsp;60]], [[Pascal (Programmiersprache)|Pascal]], [[Java (Programmiersprache)|Java]], [[Lua]], [[Ada (Programmiersprache)|Ada]], [[Visual Basic Classic]], [[BASIC]]) oder ''bool'' ([[Algol&nbsp;68]], [[C-Sharp|C#]], [[C++]], [[PHP]], [[Python (Programmiersprache)|Python]]) oder ''logical'' ([[Fortran]]). Der Boolean ist ein [[Datentyp#Elementare Datentypen|elementarer Datentyp]].<ref name="Mathes22" />


Zur Repräsentation eines booleschen Wertes genügt prinzipiell ein einzelnes [[Bit]], um die beiden möglichen Zustände zu repräsentieren. Aus technischen Gründen wird jedoch in der Regel eine andere Repräsentation gewählt, meist abhängig von der [[Wortbreite]] des verwendeten Systems, wobei bei C++ Vektoren für diesen Typ optimiert sind. Wird ein boolescher Wert mit einem Ganzzahltyp dargestellt, steht meist 0 für ''falsch'' und alles ungleich Null (häufig wird −1 oder 1 verwendet) für ''wahr''. Anders in der Linux/Unix-Shell-Programmierung: Hier steht ein Wert größer Null für einen Fehler und im übertragenen Sinne für ''falsch'', während Null für einen erfolgreichen Programmaufruf und so für ''wahr'' steht.
Zur Repräsentation eines booleschen Wertes genügt prinzipiell ein einzelnes [[Bit]], um die beiden möglichen Zustände zu repräsentieren. Aus technischen Gründen wird jedoch in der Regel eine andere Repräsentation gewählt, meist abhängig von der [[Wortbreite]] des verwendeten Systems, wobei bei C++ Vektoren für diesen Typ optimiert sind. Wird ein boolescher Wert mit einem Ganzzahltyp dargestellt, steht meist 0 für ''falsch'' und alles ungleich Null (häufig wird −1 oder 1 verwendet) für ''wahr''. Anders in der [[Linux]]- bzw. [[Unix-Shell]]-Programmierung: Hier steht ein Wert größer Null für einen Fehler und im übertragenen Sinne für ''falsch'', während Null für einen erfolgreichen Programmaufruf und so für ''wahr'' steht.


== Weblinks ==
== Weblinks ==
* {{SEP|https://plato.stanford.edu/entries/boolalg-math/|The Mathematics of Boolean Algebra|J. Donald Monk}}
* {{SEP|https://plato.stanford.edu/entries/boolalg-math/|The Mathematics of Boolean Algebra|J. Donald Monk}}

== Einzelnachweise ==
<references />


[[Kategorie:Mathematische Logik]]
[[Kategorie:Mathematische Logik]]

Version vom 8. Dezember 2024, 17:29 Uhr

Ein Boolean [ˈbuːliən], benannt nach George Boole, ist ein Element einer booleschen Algebra.[1] Eine Sonderform mit nur zwei Zuständen ist in der Digitaltechnik die Schaltvariable (englisch switching variable) bzw. bei der Programmierung der boolesche Datentyp zur Darstellung der logischen Wahrheitswerte wahr und falsch.

Grundlagen: boolesche Mathematik und Schaltalgebra

Eine boolesche Variable im Allgemeinen ist eine Variable, die nur endlich viele Werte oder Zustände annehmen kann: Mit seinem Werk The Mathematical Analysis of Logic von 1847 legte George Boole einen Grundstein für 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 (binäre) 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 (Binärzahl) 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 häufig auch dreiwertige Schaltvariablen in der Form –1/0/1 (mathematisch eine vorzeichenbehaftete einstellige Binärzahl oder ein ternäres Zahlensystem 0/1/2), also HIGH/NULL/LOW, etwa in der Steuerungs- und Regelungstechnik (VORWÄRTS/STOPP/RÜCKWÄRTS). Boolesche- bzw. Schaltalgebra ist aber prinzipiell über beliebigem Zeichenvorrat (Wertebereich) möglich.

Digitaltechnik

In der Digitaltechnik werden boolesche Werte durch unterschiedliche elektrische Spannungsbereiche (sog. Logikpegel) realisiert. Die konkreten Spannungsgrenzen hängen von der verwendeten Technik ab (z. B. Transistor-Transistor-Logik oder CMOS).

Programmierung

Im Bereich der Softwareentwicklung versteht man unter einem booleschen Ausdruck einen Ausdruck, der nur die beiden Wahrheitswerte True und False (englisch für wahr und falsch) annehmen kann. Solche Werte können miteinander logisch verknüpft und Variablen eines passenden Typs zugewiesen werden. Sie finden bei Sprunganweisungen Verwendung um den Kontrollfluss zu ändern, in der Regel bei bedingten Anweisungen oder Schleifen.

Viele Programmiersprachen stellen dafür einen eigenen Datentyp zur Verfügung, 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.[1]

Zur Repräsentation eines booleschen Wertes genügt prinzipiell ein einzelnes Bit, um die beiden möglichen Zustände zu repräsentieren. Aus technischen Gründen wird jedoch in der Regel eine andere Repräsentation gewählt, meist abhängig von der Wortbreite des verwendeten Systems, wobei bei C++ Vektoren für diesen Typ optimiert sind. Wird ein boolescher Wert mit einem Ganzzahltyp dargestellt, steht meist 0 für falsch und alles ungleich Null (häufig wird −1 oder 1 verwendet) für wahr. Anders in der Linux- bzw. Unix-Shell-Programmierung: Hier steht ein Wert größer Null für einen Fehler und im übertragenen Sinne für falsch, während Null für einen erfolgreichen Programmaufruf und so für wahr steht.

Einzelnachweise

  1. a b Markus A. Mathes, Jochen Seufert: Programmieren in C++ für Elektrotechniker und Mechatroniker. Springer Vieweg, Wiesbaden 2022, ISBN 978-3-658-38500-2, Kapitel 9.1: Elementare Datentypen – Boolesche Werte, S. 45 f., doi:10.1007/978-3-658-38501-9.