WikiDer > Boolean

Boolean

In dem Informatik ist boolesch ein Datentyp mit nur zwei möglichen Werten, wahr (wahr, ja) und falsch (falsch, nein), beabsichtigt zu Wahrheitswert von logischen Ausdrücken in Computer Programm's und boolsche Algebrazu repräsentieren. Der Typ ist benannt nach George Boolea, das als erstes ein algebraisches System für Logik Mitte des 19. Jahrhunderts entwickelt.

Implementierung

In einem Programmiersprache mit einem eingebauten Datentyp boolean, zum Beispiel in Pascal und Java, Vergleichsoperatoren wie '<', '>', '≠' sind normalerweise so definiert, dass sie einen booleschen Wert zurückgeben. Auch die Bedingungen, die Kontrollfluss in einem Programm, wie in bedingten Anweisungen und Schleifen, normalerweise vom Typ boolean.

In Programmiersprachen ohne expliziten Datentyp Boolean, wie z C90 und lispeln, können die Wahrheitswerte durch einen anderen Datentyp dargestellt werden. Lisp verwendet a leere Liste für "false" und jeden anderen Wert für "true". C verwendet den Typ ganze Zahl (Informatik) und nehmen den Wert 0 als "falsch" und 1 als "wahr". Ein Vergleichsausdruck wie 'ich > j' bekommt also den Wert 1 wenn es wahr ist und sonst den Wert 0. Die Bedingungen, unter denen es getestet wird in wenn-, während-, zumAnweisungen usw. betrachten den Wert 0 als falsch und jeden anderen Wert als wahr.[1][2]

Die meisten Programmiersprachen, auch solche, die nicht explizit den Datentyp Boolean haben, unterstützen logische Operationen, wie z logische Konjunktion (UND, &, *), logische Disjunktion (ODER, |, ), logische Äquivalenz (EQV, =, ==), exklusive Disjunktion (XOR, NEQV, ^, !=), und logische Verneinung (NICHT, ~, !).

In einigen Programmiersprachen, zum Beispiel in Rubin und Smalltalk, die Werte "true" und "false" gehören zu unterschiedlichen Klassendh "Wahr" bzw. "Falsch", so dass es keinen Singulartyp Boolean gibt.

In anderen Programmiersprachen ist der boolesche Typ so definiert, dass er mehr als zwei Wahrheitswerte annehmen kann. Im Standard-SQL ab 1999 kann ein boolescher Wert beispielsweise die Werte "true", "false" und "unknown" annehmen (Null), was beim Programmieren sehr nützlich sein kann,

Geschichte

Eine der ersten Programmiersprachen, die explizit den booleschen Datentyp hatte, war ALGOL 60, mit den Werten "true" und "false" und logischen Operatoren, gekennzeichnet durch die Symbole ''(UND),''(ODER),''(Implikation),'' (Äquivalenz) und '' (NICHT). Aufgrund der begrenzten Dateneingabemöglichkeiten zu dieser Zeit verwendeten die meisten Compiler alternative Darstellungen, wie z UND oder 'UND'. Die Idee, einen primitiven Datentyp Boolean zu bauen, wurde jedoch in vielen späteren Sprachen aufgegriffen, einschließlich in ALGOL 68 (1970),[3]Java, und C♯.

Die erste Version von FORTRAN (1957) und der Nachfolger FORTRAN II (1958) hatten ebenfalls keine logischen Werte und Operationen. Auch die bedingten WENN-Anweisung hatte einen arithmetischen Ausdruck als Bedingung und sprang je nach Vorzeichen dieses Ausdrucks an eine von drei Stellen. FORTRAN IV (1962) folgte jedoch dem Beispiel von ALGOL 60, indem es einen booleschen Datentyp verwendete LOGISCH erhältlich mit den Werten .WAHR. und .FALSCH., boolesche Vergleichsoperatoren .EQ., .GT., usw. und die logischen Operatoren .NICHT., .UND., .ODER.. Im FORMAT-Anweisungen, mit einem speziellen Steuerzeichen versehen'l' zum Parsen und Formatieren von logischen Werten[4]

Lisp hatte nie eine eingebaute Art von Boolean. Stattdessen werden bedingte Konstrukte wie Bedingung Angenommen der Wert "false" wird durch die leere Liste dargestellt (), das per Definition mit dem speziellen Atom . identisch ist Null oder NULL, während einander s Ausdruck als "wahr" interpretiert. Der Einfachheit halber wird in den meisten modernen Dialekten von Lisp das Atom t vordefiniert mit dem Wert t, also als "wahr" interpretiert, damit t wenn mnemonik für den booleschen Wert "true" verwendet werden kann. Die Werte, die als „falsch“ und „wahr“ interpretiert werden, unterscheiden sich von Sprache zu Sprache.

Die anfängliche Vorgabe für die Sprache C (1972) lieferte keinen booleschen Typ. Auch heute noch werden in späteren Versionen von C-Programmen boolesche Werte im Allgemeinen durch ganze Zahlen dargestellt (ints) . Die Vergleichsoperatoren ('>', '==' usw.) sind als ganze Zahl definiert (int) 0 für "false" und 1 für "true" zurückgeben. Dieselbe Konvention wird für die logischen Operatoren ('&&', '||', '!' usw.) und bedingte Anweisungen ('wenn', 'während'). Visual Basic verfolgt den gleichen Ansatz wie C. C hat einen separaten Typ von booleschen ('bool'), allerdings mit automatischer Umrechnung von Skalaren und Zeiger, sehr ähnlich zu C.

Pascal (1978) führte das Konzept der programmerdefinierten Aufzählung Typen. Ein eingebauter Boolesches datatype als vordefinierter Aufzählungstyp mit den Werten FALSCH und WAHR. Per Definition wurden alle Gleichungen, logischen Operationen und bedingten Aussagen auf boolesch Werte und gab einen booleschen Wert zurück. Außerdem hatte es Boolesches Geben Sie alle Funktionen von Aufzählungstypen ein, z. B. die Reihenfolge und Verwendung von Indizes. Dieser Ansatz von Boolean als Aufzählungstyp wurde von den meisten späteren Sprachen übernommen, die Aufzählungstypen hatten, wie z Modul, ada und Haskell. Nach Aufzählungstypen (aufzählens) wurden dem . hinzugefügt ANSI-Version von C (1989) wurde es für Programmierer üblich, ihren eigenen booleschen Typ aus Sicht der Lesbarkeit zu definieren.

Siehe auch