Was ist ein Boolesches Array?
Ein Boolesches Array in der Computerprogrammierung ist eine Folge von Werten, die nur die Werte true oder false enthalten können. Per Definition kann ein Boolescher Wert nur wahr oder falsch sein und keinen anderen Zwischenwert enthalten. Ein Array ist eine Folge von Datentypen, die numerische Positionen in einem linearen Speicherbereich einnehmen. Während die eigentliche Implementierung eines Booleschen Arrays häufig dem Compiler oder den Computersprachenbibliotheken überlassen bleibt, erfolgt dies am effizientesten mit Bits anstelle vollständiger Bytes oder Wörter. Es gibt verschiedene Verwendungsmöglichkeiten für ein Boolesches Array, z. B. das Verfolgen von Eigenschaftsflags und das Ausrichten von Einstellungen für physische Hardware-Schnittstellen.
Die Idee eines Booleschen Arrays stammt von ursprünglichen Methoden, mit denen Informationen auf Computern gespeichert wurden, auf denen nur sehr wenig Speicher verfügbar war. Die erste Implementierung eines Booleschen Arrays hatte die Form eines Bit-Arrays. Hierbei wurden größere Datentypen wie Bytes oder lange Ganzzahlen verwendet, um Informationen zu speichern, indem die Bits des Datentyps auf true oder false gesetzt wurden. Auf diese Weise kann ein einzelnes Byte, das acht Bits lang ist, acht verschiedene wahre oder falsche Werte enthalten, was Platz spart und effiziente bitweise Operationen ermöglicht.
Mit zunehmender Größe des Computerspeichers nahm der Bedarf an Bit-Arrays ab. Die Verwendung von Bits bietet zwar die Möglichkeit der Bitverschiebung und die Verwendung von logischen Operatoren, die eine unglaublich schnelle Verarbeitung ermöglichen, erfordert jedoch auch benutzerdefinierten Code für diese Art von Operationen. Die Verwendung einer Standard-Array-Struktur zum Speichern einer Folge von Bytes ist eine einfachere Lösung, nimmt jedoch während der Programmausführung viel mehr Speicherplatz in Anspruch. Dies kann beim Erstellen eines Arrays mit 32 Booleschen Werten beobachtet werden. Bei einem Bit-Array belegen die Daten nur vier Byte Speicher, während ein Array vom Typ Boolean je nach Systemimplementierung zwischen 32 und 128 Byte belegt.
Einige Computerprogrammiersprachen implementieren tatsächlich ein Bit-Array, wenn ein boolescher Array-Typ verwendet wird, obwohl dies nicht häufig vorkommt. Ein Boolesches Array hat den Vorteil, dass es beim Anzeigen von Quellcode sehr einfach zu lesen ist. Vergleiche und Zuweisungen werden übersichtlich dargestellt, während bei einem Bit-Array die logischen Operatoren "und", "oder" und "nicht" verwendet werden müssen, wodurch möglicherweise verwirrender Code erzeugt wird.
Trotz der Benutzerfreundlichkeit ist eine Bitmaske eine Funktion, die mit einem Booleschen Array nicht verwendet werden kann. Eine Bitmaske ist ein einzelnes Byte oder ein größerer Datentyp, der eine Folge von wahren und falschen Werten enthält, die sich auf mehrere Bedingungen beziehen. In einer einzigen Operation können mehrere Bits gleichzeitig auf ihren wahren oder falschen Zustand überprüft werden. Bei einem ganzzahligen Array von Booleschen Werten müsste dieselbe Operation mit einer Schleife ausgeführt werden.