インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

データ表現

インテル® Fortran は、数値データがネイティブ・リトルエンディアン順になっていると想定します。これは、最下位の最右端の 0 ビット (ビット 0) またはバイトに、最上位の最左端のビット (またはバイト) よりも下位のアドレスが割り当てられる方式です。非ネイティブ・ビッグエンディアン形式と VAX* 浮動小数点形式の使用方法については、「サポートされるネイティブ数値形式と非ネイティブ数値形式」を参照してください。

図中の :A というシンボルは、ビット 0 を含むバイトのアドレス、すなわち表現されているデータ要素の開始アドレスを示しています。

以下の表に、インテル® Fortran が使用している組込みデータ型、必要な記憶域、および有効な範囲を示します。Fortran 組込みデータ型の宣言については、「Type Declarations」(英語) を参照してください。例えば、INTEGER(4) の宣言は INTEGER(KIND=4) および INTEGER*4 と同じです。

Fortran データ型とその記憶域

データ型

記憶域

説明

BYTE

1 バイト

(8 ビット)

INTEGER(1) と等価な符号付き整数データ型。

INTEGER

INTEGER(2)、INTEGER(4)、および INTEGER(8) を参照。

符号付き整数で、INTEGER(2)、INTEGER(4)、または INTEGER(8)。サイズは、integer-size コンパイラー・オプションによって制御されます。

INTEGER(1)

1 バイト

(8 ビット)

-128 ~ 127 の範囲の符号付き整数値。

INTEGER(2)

2 バイト

(16 ビット)

-32,768 ~ 32,767 の範囲の符号付き整数値。

INTEGER(4)

4 バイト

(32 ビット)

-2,147,483,648 ~ 2,147,483,647 の範囲の符号付き整数値。

INTEGER(8)

8 バイト

(64 ビット)

-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 の範囲の符号付き整数値。

REAL

REAL(4)、REAL(8)、および REAL(16) を参照。

実数浮動小数点値で、REAL(4)、REAL(8)、または REAL(16)。サイズは、real-size コンパイラー・オプションによって制御されます。

DOUBLE PRECISION

REAL(8) および REAL(16) を参照。

倍精度実数浮動小数点値。REAL(8) または REAL(16)。サイズは、double-size コンパイラー・オプションによって制御されます。

REAL(4)

4 バイト

(32 ビット)

1.17549435E-38 ~ 3.40282347E38 の範囲の IEEE binary32 形式での単精度実数浮動小数点値。1.17549429E-38 ~ 1.40129846E-45 の範囲の値は正規化されていない値 (サブノーマル) です。

REAL(8)

8 バイト

(64 ビット)

2.2250738585072013D-308 ~ 1.7976931348623158D308 の範囲の IEEE binary64 形式での倍精度実数浮動小数点値。2.2250738585072008D-308 ~ 4.94065645841246544D-324 の範囲の値は正規化されていない値 (サブノーマル) です。

REAL(16)

16 バイト (128 ビット)

6.4751751194380251109244389582276465524996Q-4966 ~ 1.189731495357231765085759326628007016196477Q4932 の範囲の IEEE binary128 形式での拡張精度実数浮動小数点値。

COMPLEX

COMPLEX(4)、COMPLEX(8)、および COMPLEX(16) を参照。

REAL(4)、REAL(8)、または REAL(16) 形式の実部と虚部のペアで表現される、複素数浮動小数点値。サイズは、real-size コンパイラー・オプションによって制御されます。

DOUBLE COMPLEX

COMPLEX(8) および COMPLEX(16) を参照。

REAL(8) または REAL(16) 形式の実部と虚部のペアで表現される、倍精度複素数浮動小数点値。サイズは、double-size コンパイラー・オプションによって制御されます。

COMPLEX(4)

8 バイト

(64 ビット)

IEEE binary32 形式の実部と虚部のペアで表現される、単精度複素数浮動小数点値。実部と虚部の範囲は 1.17549435E-38 ~ 3.40282347E38 です。1.17549429E-38 ~ 1.40129846E-45 の範囲の値は正規化されていない値 (サブノーマル) です。

COMPLEX(8)

16 バイト (128 ビット)

IEEE binary64 形式の実部と虚部のペアで表現される、倍精度複素数浮動小数点値。実部と虚部の範囲は 2.2250738585072013D-308 ~ 1.7976931348623158D308 です。2.2250738585072008D-308 ~ 4.94065645841246544D-324 の範囲の値は正規化されていない値 (サブノーマル) です。

COMPLEX(16)

32 バイト (256 ビット)

IEEE binary128 形式の実部と虚部のペアで表現される、拡張精度複素数浮動小数点値。実部と虚部の範囲は 6.4751751194380251109244389582276465524996Q-4966 ~ 1.189731495357231765085759326628007016196477Q4932 です。

LOGICAL

LOGICAL(2)、LOGICAL(4)、および LOGICAL(8) を参照。

論理値で、LOGICAL(2)、LOGICAL(4)、または LOGICAL(8)。サイズは、integer-size コンパイラー・オプションによって制御されます。

LOGICAL(1)

1 バイト

(8 ビット)

.TRUE. または .FALSE. の論理値。

LOGICAL(2)

2 バイト

(16 ビット)

.TRUE. または .FALSE. の論理値。

LOGICAL(4)

4 バイト

(32 ビット)

.TRUE. または .FALSE. の論理値。

LOGICAL(8)

8 バイト

(64 ビット)

.TRUE. または .FALSE. の論理値。

CHARACTER

1 文字につき 1 バイト (8 ビット)

文字コード規約によって表現される文字データ。文字型の宣言は、CHARACTER(LEN=n) または CHARACTER*n の形式で指定することができます。n はバイト数ですが、(*) として指定すれば、文字長を渡す書式を指定することができます。

HOLLERITH

Hollerith 文字 1 つにつき 1 バイト (8 ビット)

Hollerith 定数。

このほかに、2 進 (ビット) 定数を定義することもできます。