ブール配列とは
コンピュータープログラミングのブール配列は、trueまたはfalseの値のみを保持できる値のシーケンスです。 定義により、ブール値はtrueまたはfalseのみであり、他の中間値を保持することはできません。 配列は、線形メモリ空間の数値位置を占める一連のデータ型です。 ブール配列の実際の実装は、多くの場合コンパイラまたはコンピューター言語ライブラリに任されていますが、完全なバイトまたはワードではなくビットを使用することで最も効率的に行われます。 ブール配列には、プロパティフラグの追跡や物理ハードウェアインターフェイスの設定の調整など、いくつかの用途があります。
ブール配列のアイデアは、利用可能なメモリが非常に少ないコンピューターに情報を保存するために使用された元のメソッドに由来します。 ブール配列の最初の実装は、ビット配列の形式を取りました。 これは、データ型のビットをtrueまたはfalseに設定して、バイトや長整数などの大きなデータ型を使用して情報を保持していました。 このようにして、8ビット長の1バイトで8つの異なる真または偽の値を保持し、スペースを節約し、効率的なビット単位の操作を可能にします。
コンピューターのメモリのサイズが大きくなるにつれて、ビット配列を使用する必要性は低下しました。 ビットを使用すると、ビットシフトが可能になり、信じられないほど高速な処理を可能にする論理演算子を使用できますが、これらのタイプの操作を処理するにはカスタムコードも必要です。 標準的な配列構造を使用してバイトシーケンスを保持する方が簡単な解決策ですが、プログラムの実行中により多くのメモリを必要とします。 これは、32個のブール値の配列を作成するときに見られます。 ビット配列では、データは4バイトのメモリしか占有しませんが、ブール型の配列は、システムの実装に応じて32〜128バイトのいずれかを占有する場合があります。
一部のコンピュータープログラミング言語は、ブール配列タイプが使用される場合、実際にはビット配列を実装しますが、これは一般的ではありません。 ブール配列には、ソースコードを表示するときに非常に読みやすいという利点があります。 比較と割り当てが明確に示されていますが、ビット配列では論理演算子「and」、「or」、「not」を使用する必要があり、混乱を招くコードを作成する可能性があります。
使いやすさにもかかわらず、ブール配列で使用できない機能の1つはビットマスクです。 ビットマスクは、複数の条件に関連する真と偽の値のシーケンスを含むシングルバイト以上のデータ型です。 単一の操作で、複数のビットの真または偽の状態を一度にチェックできます。 ブール値の整数ベースの配列では、ループで同じ操作を実行する必要があります。