XL Fortran for AIX V8.1.1
ランゲージ・リファレンス
編集はフィールド上で行われます。フィールドは、形式制御がデータまたは文字ストリング編集記述子を処理する際に入力で読み取られ、出力で書き込まれるレコードの一部です。フィールドの幅は文字のフィールドのサイズです。
I、F、E、EN、
ES、B、O、Z、D、G、および拡張精度 Q 編集記述子は、まとめて数値編集記述子と呼ばれます。これらの編集記述子を使って、整数、実数および複素数のデータの形式を設定します。これらの編集記述子に適用される一般的な規則として、次のものがあります。
- 入力の場合:
- 先行ブランクは無視されます。その他のブランクの解釈は、
OPEN ステートメントの中の BLANK= 指定子、および BN および BZ の 2 つの編集記述子によって制御されます。すべてのブランクのフィールドは、ゼロと見なされます。プラス記号の指定はオプションですが、B、O、および Z 編集記述子に対して指定することはできません。
- F、E、EN、ES、D、G、および拡張精度 Q 編集では、入力フィールド内にある小数点は、小数点位置を指定する編集記述子の部分をオーバーライドします。フィールドでは、内部的に表現できる桁数を超える桁を持つことができます。
- 出力の場合:
- 文字は、フィールド内では右寄せに入れられます。編集処理による文字数がフィールド幅を下回る場合、フィールドに対して先行ブランクが入れられます。文字数がフィールド幅を超える場合、または指数が指定の長さを超える場合、フィールド全体がアスタリスクで埋められます。
- 負の値の前には、負符号が付けられます。デフォルトの場合、正またはゼロの値には、符号は付きません。
S、SP、および SS 編集記述子によって制御されると、正符号が値の前に付けられます。
+---------------------------------Fortran 95---------------------------------+
- -qxlf90 コンパイラー・オプションの signedzero サブオプションと nosignedzero サブオプションのどちらを指定するかに応じて、E、D、Q (拡張精度)、F、EN、ES、または G (一般編集) 編集記述子の結果は以下のようになります。
- signedzero サブオプションを選択した場合、出力に関する内部値が負の数か負のゼロであれば、出力フィールドに負符号が必ず書き出されます。これは、出力値がゼロであっても変わりません。
Fortran 95 標準ではこの処理は必須です。
+----------------------------------IBM 拡張----------------------------------+
XL Fortran では、REAL(16) 内部値がゼロの場合にゼロが負のゼロとして扱われることは決してありません。
+--------------------------------IBM 拡張の終り-------------------------------+
- nosignedzero サブオプションを選択した場合、出力値がゼロであれば、出力フィールドに負符号が書き出されません。これは、内部値が負の数であっても変わりません。
Fortran 90 標準ではこの処理は必須で、XL Fortran の処理と一致します。
+--------------------------------IBM 拡張の終り-------------------------------+
+----------------------------------IBM 拡張----------------------------------+
- XL Fortran では、
NaN (番号ではない)
が 'NaNQ'、
'+NaNQ'、
'-NaNQ'、
'NaNS'、
'+NaNS'、または '-NaNS' によって示されます。無限大は、'INF'、
'+INF'、または '-INF' によって示されます。
+--------------------------------IBM 拡張の終り-------------------------------+
注:
- 内部値がゼロでない場合、
signedzero と nosignedzero のどちらの場合でも ES および EN 編集記述子は同じ処理を行います。 したがって、値が負の数である場合は必ず負符号が印刷出力されます。
- 編集記述子の例において、出力 桁内の小文字 b はその位置にブランクが表示されることを示します。
複素数は、1 対の別個の実数コンポーネントからなる値です。したがって、複素数の編集も 1 対の編集記述子によって指定されます。最初の編集記述子は、数値の実数部を編集し、2 番目の編集記述子は虚数部を編集します。
2 つの編集記述子は同じでも、異なっていてもかまいません。
2 つの編集記述子の間に、1 つまたは複数の制御編集記述子を置くことが可能ですが、データ編集記述子を指定することはできません。
[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]