ネイティブ IEEE* 浮動小数点の表現の概要

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 95 標準を拡張したものなので注意してください。

特定のコンパイラ・オプションを省略した場合、REAL および COMPLEX のデータ宣言で使用されるデフォルトのサイズは次のとおりです:

種別パラメータを指定していないすべての REAL または COMPLEX 宣言のサイズを制御するには、-real_size 64 または -real_size 128 オプションを使用します。デフォルトでは、-real_size 32 が使用されます。

種別パラメータを使用して、REAL または COMPLEX 宣言の長さを明示的に宣言するか、DOUBLE PRECISION または DOUBLE COMPLEX を指定します。すべての DOUBLE PRECISION および DOUBLE COMPLEX 宣言のサイズを制御するには、-double_size 128 オプションを使用します。デフォルトでは、 -double_size 64 が使用されます。

次に示すセクションでは、浮動小数点データについて説明しています:

ネイティブ IEEE リトル・エンディアン・データ以外の浮動小数点データの読み書きについては、「書式なし数値データの変換」を参照してください。

また、「fordef.for ファイルとその使用」も参照してください。