データ表現の概要

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

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

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

Fortran データ型とその記憶域

データ型

記憶域

説明

BYTE

INTEGER(1)

1 バイト

(8 ビット)

BYTE 宣言は、INTEGER(1) に対応する符号付き整数データ型です。

INTEGER

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

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

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 (Linux および Mac OS X) または /real-size (Windows) コンパイラー・オプションによって制御されます。

REAL(4)

4 バイト

(32 ビット)

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

REAL(8)

8 バイト

(64 ビット)

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

REAL(16)

16 バイト (128 ビット)

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

COMPLEX

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

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

COMPLEX(4)

8 バイト

(64 ビット)

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

COMPLEX(8)

DOUBLE COMPLEX

16 バイト (128 ビット)

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

COMPLEX(16)

32 バイト (256 ビット)

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

LOGICAL

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

論理値で、LOGICAL(2)、LOGICAL(4)、または LOGICAL(8)。サイズは、-real-size (Linux および Mac OS X) または /real-size (Windows) コンパイラー・オプションによって制御されます。

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 進 (ビット) 定数を定義することもできます。

次のトピックを参照してください。

関連情報