コンピュータサイエンスにおいて、ブール式(論理式とも呼ばれる)は、評価時にブール値を生成するプログラミング言語で使用される式です。ブール値は真または偽のいずれかです。ブール式は、ブール定数True/FalseまたはYes/No、ブール型変数、ブール値演算子、およびブール値関数の組み合わせで構成できます。[ 1 ]
ほとんどのプログラミング言語にはブール演算子OR、AND、NOT があります。Cおよびそれに影響を受けたいくつかの言語では、これらはそれぞれ "||" (二重パイプ文字)、"&&" (二重アンパサンド)、"!" (感嘆符) で表され、対応するビット演算は "|"、"&"、"~" (チルダ) で表されます。[ 3 ] 数学文献では、よく使用される記号は "+" (プラス)、" · " (ドット) 、オーバーバー、または "∨" (ベル)、"∧" (エット)、"¬" (否定)、"′" (プライム) です。
PerlやRubyなどの一部の言語には、機能は同じだが優先順位が異なる2組のブール演算子があります。これらの言語では、通常、優先順位の低い演算子にはandやorを使用し、not を使用します。
PL/Iから派生したプログラミング言語の中には、ビット列型を持ち、独立したブール型ではなくBIT(1)を使用するものがあります。これらの言語では、ブール演算とビット演算に同じ演算子が使用されます。OR、AND、NOT、排他的ORは、「|」、「&」、「¬」(中置)、「¬」(前置)で表されます。
Adaなどの一部のプログラミング言語には、短絡評価を行うブール演算子があります。これらの演算子は遅延評価を使用します。つまり、式の値が左辺のブール式から判断できる場合は、右辺のブール式は評価されません。そのため、左辺のオペランドの特定の値に対してのみ発生する副作用が生じる可能性があります。
5 > 3は次のように評価されます。真実。3 > 5は次のように評価されます。間違い。5>=3と は3<=5同等のブール式であり、どちらも次のように評価されます。真実。X > 3) が含まれ、多くの場合、それ以上の変数 ( X > Y) が含まれます。