ブール型【bool type】bool型/ブーリアン型
概要

ブール型はプログラムやデータベースなどで用いられるデータ型の一つで、「真」と「偽」の2種類から成る「真偽値」(論理値/ブール値)だけを扱う。条件が成立するかどうかを判定する用途で使われ、比較演算や論理演算の結果はブール型の値として表される。式の項としてブール型の値を含めることもできる。
多くの言語では、if文やwhile文といった制御構文の条件としてブール型の値が用いられる。条件式の評価結果がブール型の真または偽として返されることで、プログラムの分岐や繰り返しの制御が成り立っている。複雑な比較処理の結果をブール型の変数に格納しておけば、同じ比較式を書き直さずに、別の場所で繰り返し参照して処理を進められる。
ブール型の値には論理演算を適用できる。複数の条件がすべて成立したときだけ真となる「論理積」(言語によりAND、&、&&などと表記)、いずれか一つでも成立すれば真となる「論理和」(OR、|、||など)、真偽を反転する「論理否定」(NOT、!、~など)が代表的である。二つの値が等しいかどうかを判定する「同値」(=、==など)や、異なるかどうかを判定する「非同値」(!=、<>など)もある。これらの演算の結果も、やはりブール型の真または偽の値として返される。
リテラルの表記方法は言語によって異なり、真を「true」「True」「TRUE」、偽を「false」「False」「FALSE」のように表すことが多い。大文字と小文字を区別する言語では、定められた表記以外は認められない場合があるため、言語ごとの仕様に従う必要がある。
現在の主要なプログラミング言語では、ブール型は整数型とは独立したデータ型として定義されている。一方、C言語のように、もともとブール型を持たず、整数値で真偽を代用する言語も存在する。この場合、「0」を偽、「0以外の値」を真として扱う仕様が一般的である。C99以降ではブーリアン型に近い_Bool型が追加されているが、互換性維持のために整数による代用が残されている。データベース管理システム(DBMS)においても、真偽値を格納する専用のデータ型が用意されていることが多いが、システムによっては1文字の文字列や1ビットの整数として代用することもある。