論理データ長は 1、2、4、または 8 バイトです。
LOGICAL データ宣言で使用されるデフォルトのデータサイズは、-integer-size 16 または -integer-size 64 (Linux* および Mac OS* X)、あるいは /integer-size:16 または /integer-size:64 (Windows*) オプションが指定されていない限り、LOGICAL(4) (LOGICAL(KIND=4) と同じ) になります。
インテル® 64 および IA-64 アーキテクチャー・ベースのシステム向けにパフォーマンスを向上させるには、LOGICAL(2) または LOGICAL(1) ではなく、LOGICAL(4) (または LOGICAL(8)) を使用してください。IA-32 アーキテクチャー・ベースのシステムには、LOGICAL(8)、LOGICAL(2)、LOGICAL(1) ではなく、LOGICAL(4) を使用してください。
LOGICAL(KIND=1) の値は、1 バイトで格納されます。LOGICAL(1) データは、論理値 .TRUE. と .FALSE. の他にも、-128 ~ 127 の範囲の値を持つことができます。また、論理変数は整数データとして解釈することもできます。
LOGICAL(1) に加えて、論理値は任意のバイト境界から始まる連続する 2 バイト (LOGICAL(2))、4 バイト (LOGICAL(4))、または 8 バイト (LOGICAL(8)) に格納することもできます。
-fpscomp nological (Linux および Mac OS X) または /fpscomp:nological (Windows) コンパイラー・オプションが設定されている場合 (デフォルト設定)、論理値は下位ビットによって TRUE と FALSE のどちらなのかが決定されます。Microsoft* Fortran PowerStation の論理値では、0 (ゼロ) が FALSE で、ゼロ以外の値が TRUE になるように、nological ではなく、logical を指定します。
LOGICAL(1)、LOGICAL(2)、LOGICAL(4)、および LOGICAL(8) のデータ表現 (nological オプションが指定されている場合) を以下に示します。