データの表現

Visual Fortran は,数値データがネイティブ・リトル・エンディアン順序になっていると想定します。これは,最下位の最も右側のゼロ・ビット (ビット 0) またはバイトが,最上位の最も左側のビット (またはバイト) よりも低いアドレスを持つ順序です。非ネイティブ・ビッグ・エンディアン書式と Compaq VAX 浮動小数点書式の使用方法については,「書式なし数値データの変換」を参照してください。

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

次表に,Visual Fortran が使用している組込みデータ型,必要な記憶域,および有効な範囲を示します。Fortran 組込みデータ型の宣言についての詳細は,「型宣言文」を参照してください。たとえば,INTEGER(4) の宣言は,INTEGER(KIND=4) および INTEGER*4 と同じです。

Visual Fortran のデータ型と記憶域

データ型 記憶域 説明
BYTE (INTEGER(1)) 1 バイト (8 ビット) BYTE 宣言は,INTEGER(1) と等価な符号付き整数データ型です。
INTEGER INTEGER(2)INTEGER(4)INTEGER(8) を参照。 符号付き整数で,INTEGER(2)INTEGER(4),または INTEGER(8)。大きさは /integer_size:nn コンパイラ・オプションによって制御されます。基本設定は,/integer_size:32 (INTEGER(4))です。
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(4)
REAL
4 バイト (32 ビット) 1.17549435E-38 ~ 3.40282347E38 の範囲の IEEE S 浮動小数点書式での単精度実数浮動小数点値。1.17549429E-38 ~ 1.40129846E-45 の範囲の値は規格化されていない値 (サブノーマル) です。
REAL(8)
DOUBLE PRECISION
8 バイト (64 ビット) 2.2250738585072013D-308 ~ 1.7976931348623158D308 の範囲の IEEE T 浮動小数点書式での倍精度実数浮動小数点値。2.2250738585072008D-308 ~ 4.94065645841246544D-324 の範囲の値は規格化されていない値 (サブノーマル) です。
COMPLEX(4)
COMPLEX
8 バイト (64 ビット) IEEE S 浮動小数点書式の実部と虚部の組として表現される単精度複素数浮動小数点値。実部と虚部の範囲は 1.17549435E-38 ~ 3.40282347E38 です。1.17549429E-38 ~ 1.40129846E-45 の範囲の値は規格化されていない値 (サブノーマル) です。
COMPLEX(8)
DOUBLE COMPLEX
16 バイト (128 ビット) IEEE T 浮動小数点書式の実部と虚部の組として表現される倍精度複素数浮動小数点値。実部と虚部の範囲は 2.2250738585072013D-308 ~ 1.7976931348623158D308 です。2.2250738585072008D-308 ~ 4.94065645841246544D-324 の範囲の値は規格化されていない値 (サブノーマル) です。
LOGICAL LOGICAL(2)LOGICAL(4)LOGICAL(8) を参照。 論理値で,LOGICAL(2)LOGICAL(4),または LOGICAL(8)。大きさは /integer_size:nn コンパイラ・オプションによって制御されます。基本設定は,/integer_size:32 (LOGICAL(4)) です。
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*n の形式で指定することができます。n はバイト数ですが,(*) として指定すれば文字列長を渡す書式を指定することができます。
HOLLERITH ホレリス文字 1 つにつき 1 バイト (8 ビット) ホレリス定数。

さらに,『言語リファレンス・マニュアル』で説明しているように,2 進 (ビット) 定数を定義することができます。

次に示す節では,組込みデータ型についてさらに詳しく説明しています。