計算機科学におけるブール式(ブールしき、、論理式とも呼ばれる)とは、評価するとブール値を生成する式であり、プログラミング言語で用いられる。ブール値は真(true)または偽(false)のいずれかである。ブール式は、ブール定数であるTrue/FalseやYes/No、ブール型の変数、ブール値を返す演算子、およびブール値関数の組み合わせから構成されうる。.

ブール式は論理学における命題論理式に対応し、ブール回路と関連付けられる。.

ブール演算子 ほとんどのプログラミング言語には、OR、AND、NOTというブール演算子が存在する。Cおよびそれに影響を受けた言語群では、これらはそれぞれ「||」(二重パイプ文字)、「&&」(二重アンパサンド)、「!」(感嘆符)で表され、対応するビット演算は「|」「&」「~」(チルダ)で表される。E.g. for Java see . 数学文献では、しばしば「+」(プラス)、「・」(ドット)とオーバーバー、あるいは「∨」(vel)、「∧」(et)、「¬」(not)や「′」(プライム)といった記号が用いられる。

PerlやRubyなど一部の言語には、機能は同一だが優先順位の異なる2組のブール演算子が存在する。一般に、これらの言語では優先順位の低い演算子としてand、or、notを用いる。

PL/I系のプログラミング言語の中には、ビット列型を持ち、独立したブール型ではなくBIT(1)を用いるものがある。これらの言語では、ブール演算とビット演算に同じ演算子が使われる。これらの言語ではOR、AND、NOT、排他的論理和をそれぞれ「|」「&」「¬」(前置)「¬」(前置)で表す。

短絡演算子

Adaなど一部のプログラミング言語には、短絡ブール演算子が存在する。これらの演算子は遅延評価を用いる。つまり、式の値が左側のブール式から決定できる場合、右側のブール式を評価しない。その結果、左側のオペランドの値によってのみ生じる副作用が発生することがある。

例

式 は と評価される。 式 は と評価される。 と は等価なブール式であり、いずれも と評価される。 もちろん、ほとんどのブール式には少なくとも1つの変数()が含まれ、しばしば複数()含まれる。

関連項目 式 (プログラミング)

ブール関数

出典

外部リンク The Calculus of Logic, by George Boole, Cambridge and Dublin Mathematical Journal Vol. III (1848), pp. 183–98.