CONVERT 指定子

CONVERT 指定子は,書式なしデータに非ネイティブ数値書式を使用することを指定します。これは次の形式を取ります。

CONVERT = fm

fm
以下のいずれかの値に評価されるスカラ基本文字式。

'LITTLE_ENDIAN' 1 リトル・エンディアン整数データ 2 と,IEEE 浮動小数点データ 3
'BIG_ENDIAN' 1 ビッグ・エンディアン整数データ 2と,IEEE 浮動小数点データ 3
'CRAY' ビッグ・エンディアン整数データ 2 と,REAL(8) または COMPLEX(8) の CRAY 浮動小数点データ。
'FDX' リトル・エンディアン整数データ 2 と,REAL(4) または COMPLEX(4) については F 浮動小数点書式,REAL(8) または COMPLEX(8) については D 浮動小数点書式,REAL(16) または COMPLEX(16) については IEEE X 浮動小数点書式の Compaq VAX 浮動小数点データ 4
'FGX' リトル・エンディアン整数データ 2 と,REAL(4) または COMPLEX(4) については F 浮動小数点書式,REAL(8) または COMPLEX(8) については G 浮動小数点書式,REAL(16) または COMPLEX(16) については IEEE X 浮動小数点書式の Compaq VAX 浮動小数点データ 4
'IBM' ビッグ・エンディアン整数データ 2 と,REAL(4) または COMPLEX(4) (IBM short 4) と REAL(8) または COMPLEX(8) (IBM long 8) の IBM System\370 浮動小数点データ。
'VAXD' リトル・エンディアン整数データ 2 と,REAL(4) または COMPLEX(4) については F 浮動小数点書式,REAL(8) または COMPLEX(8) については D 浮動小数点書式,REAL(16) または COMPLEX(16) については H 浮動小数点書式の Compaq VAX 浮動小数点データ 4
'VAXG' リトル・エンディアン整数データ 2 と,REAL(4) または COMPLEX(4) については F 浮動小数点書式,REAL(8) または COMPLEX(8) については G 浮動小数点書式,REAL(16) または COMPLEX(16) については H 浮動小数点書式の Compaq VAX 浮動小数点データ 4
'NATIVE' データ変換なし。これが基本値です。

1 INTEGER(1) はリトル・エンディアンとビッグ・エンディアンで同じです。
2 適切な大きさのもの:INTEGER(1)INTEGER(2)INTEGER(4),または INTEGER(8)
3 適切な大きさと型のもの:REAL(4)REAL(8)REAL(16)COMPLEX(4)COMPLEX(8),または COMPLEX(16)
4 U*X のみ

CONVERT を使うと,1 つのプログラム中で複数の書式を指定することができます。通常は,指定された装置番号ごとに 1 つの書式が使用されます。

非ネイティブ書式を読み取るとき,ディスク上の非ネイティブ書式は,メモリー内でネイティブ書式に変換されます。変換された非ネイティブ値がネイティブ・データ型の範囲外にある場合,実行時メッセージが表示されます。

書式なしファイルに対して数値書式を指定する方法は他にもあります。環境変数,コンパイラ・オプション /convert,または OPTIONS/CONVERT を指定するという方法です。次にこれらの方式の優先順位を示します。

内部バッファは最も大きな記録を保持できるように拡大されますが,縮小されることはありません。

使用された方式 優先順位
環境変数 最高
OPEN(CONVERT=convert)   .
OPTIONS/CONVERT   .
/convert:keyword コンパイラ・オプション 最低

/convert コンパイラ・オプションと OPTIONS/CONVERT は,プログラムが使用するすべての装置番号に影響を与えるのに対して,環境変数と OPEN (CONVERT=) は特定の装置番号にのみ影響を与えます。

次の例は,OPEN 文を使って装置 15 から書式なしの CRAY 数値データを読み取り,これを処理した後に,装置 20 にネイティブ・リトル・エンディアン書式で書き込む方法を示しています。

	OPEN (CONVERT='CRAY', FILE='graph3.dat', FORM='UNFORMATTED', &
		UNIT=15)
	...
	OPEN (FILE='graph3_native.dat', FORM='UNFORMATTED', UNIT=20)

関連情報