マスク処理の場合、ビット単位の論理式ではブール型の結果が生成されます。個々のビットは、対応する演算対象のビットで行われた 1 つまたは複数の論理演算の結果を表します。
2 進の算術演算子および関係演算子では、次のように処理されます。
一方の演算対象がブール型の場合は、そのまま演算が実行されます。
両方の演算対象がブール型の場合は、両者を整数であるとみなして演算が実行されます。
ユーザー定義の関数によってブール型の結果を生成することはできません。ただし、一部の (標準でない) 組み込み関数では可能です。
ブール型と論理型には、次のような相違点があります。
変数、配列、関数は論理型にできますが、ブール型にすることはできません。
LOGICAL 文はありますが、 BOOLEAN 文はありません。
論理型の変数、定数、または式は、2 つの値 .TRUE. または .FALSE. だけしか表しません。ブール型の変数、定数、または式は、任意のバイナリ値を表すことができます。
論理要素は、算式、関係式、またはビット単位の論理式において無効です。ブール要素はいずれにおいても有効です。