REAL(4) (IEEE* S_floating)、REAL(8) (IEEE T_floating)、および REAL(16) (IEEE-style X_floating) 形式は、標準リトル・エンディアン IEEE 2 進法浮動小数点表記で格納されます。(IEEE 2 進法浮動小数点の表記に関する詳細は、「IEEE* 標準 754」を参照してください)。COMPLEX() 書式は、REAL 値のペアを使用して、データの実部と虚部を示します。
すべての浮動小数点の形式は、分数を符号付き絶対値表記で表します。また、2 進法の基数点は最上位ビットの右に位置します。分数は正規化されているものと仮定されるので、最上位ビットは格納されません (これは「隠れたビットの正規化」と呼ばれます)。このビットは、指数が 0 でない限り 1 と仮定されます。指数が 0 と等しい場合、表現されている値は正規化されていない (サブノーマル) か、プラスまたはマイナスのゼロです。
組み込み型 REAL の種別には、4 (単精度)、8 (倍精度)、および 16 (拡張精度) があります。例えば、REAL(KIND=4) では、単精度浮動小数点になります。また、組み込み型 COMPLEX の種別にも同様に、4 (単精度)、8 (倍精度)、および 16 (拡張精度) があります。
変数の種別を取得するには、KIND 組み込み関数を使用します。REAL*4 などのサイズ指定子も使用できますが、これは Fortran 2003 標準を拡張したものなので注意してください。
特定のコンパイラー・オプションを省略した場合、REAL および COMPLEX のデータ宣言で使用されるデフォルトのサイズは次のとおりです。
種別パラメーター (またはサイズ指定子) を指定していない REAL データ宣言では、デフォルトサイズが REAL (KIND=4) (REAL*4 と同じ) になります。
種別パラメーター (またはサイズ指定子) を指定していない COMPLEX データ宣言では、デフォルトサイズが COMPLEX (KIND=4) (COMPLEX*8 と同じ) になります。
種別パラメーターを指定していないすべての REAL または COMPLEX 宣言のサイズを制御するには、/real_size:64 (または /4R8) または /real_size:128 (または /4R16) オプションを使用します。デフォルトでは、/real_size:32 が使用されます。
種別パラメーターを使用して、REAL または COMPLEX 宣言の長さを明示的に宣言するか、DOUBLE PRECISION または DOUBLE COMPLEX を指定します。すべての DOUBLE PRECISION および DOUBLE COMPLEX 宣言のサイズを制御するには、/double_size:128 (または /Qautodouble) オプションを使用します。デフォルトでは、/double_size:64 が使用されます。