形式:
A 編集記述子は、文字値の編集を指示します。これは、文字タイプまたは他の任意のタイプの I/O リスト項目に対応します。転送および変換されるすべての文字の kind 型付きパラメーターは、対応するリスト項目によって暗黙的に示されます。
入力の場合、w が入力リスト項目の長さ (len と呼びます) 以上であれば、入力フィールドの右端の len 個の文字が取られます。指定したフィールド幅が len よりも小さければ、w 個の文字が左寄せされ、(len - w) の後続ブランクが追加されます。
出力の場合、w が len より大きい場合、出力フィールドは、(w - len) とそれに続く、内部表現からの len 個の文字で構成されます。 w が len 以下であれば、出力フィールドは、内部表現からの左端の w 個の文字で構成されます。
w を指定しないと、文字フィールドの幅は、対応する I/O リスト項目の長さになります。
定様式ストリームへのアクセス時、文字出力に改行文字が含まれている場合、その文字出力は複数のレコードに分かれる可能性があります。
形式:
B 編集記述子は、内部形式の任意のタイプの値とその値を 2 進で表現したものとの間の編集を指示します。 (2 進数字は、0 または 1 です。)
入力の場合、w 個の 2 進数字が編集され、入力リスト項目の値の内部表現が作られます。入力フィールド内の 2 進数字は、入力リスト項目に割り当てられた値の内部表現の右寄り部分の 2 進数字に対応します。入力の場合、m は機能しません。
出力の場合、w はゼロよりも大きくなければなりません。
+---------------------------------Fortran 95---------------------------------+
出力の場合、w はゼロでもかまいません。 w がゼロの場合、出力フィールドは出力値を表すために必要な文字の最小数で構成されます。
+------------------------------Fortran 95 の終り------------------------------+
Bw の出力フィールドは、ゼロ個以上の先行ブランクに続いて内部値を先行ゼロなしの 2 進数字の形式で表記したもので構成されます。 2 進定数は、常に 1 桁以上から構成されることに注意してください。
Bw.m の出力フィールドは、数字ストリングが m 桁以上であるという点を除いて、Bw と同じになります。必要に応じて、数字ストリングには、先行ゼロが埋められます。 m の値は、w の値がゼロでない限り、w の値を超えてはなりません。 m がゼロで、内部データの値がゼロの場合、出力フィールドは、符号の制御が有効であるか否かにかかわらず、ブランク文字のみで構成されます。
m がゼロ、w が正の数で、内部データの値がゼロの場合、出力フィールドは、w 個のブランク文字で構成されます。
w と m の両方がゼロで、内部データの値がゼロの場合、出力フィールドは
1 つのブランク文字だけで構成されます。
-qxlf77 コンパイラー・オプションの nooldboz サブオプションが指定される場合 (デフォルト)、出力フィールド幅が出力全体を包含するのに不十分であるとき、アスタリスクが印刷されます。入力の場合、BN および BZ 編集記述子は、 B 編集記述子に影響します。
+----------------------------------IBM 拡張----------------------------------+
-qxlf77 コンパイラー・オプションの oldboz サブオプションを指定すると、出力で以下の処理が行われます。
w がゼロの場合、oldboz サブオプションは無視されます。
oldboz サブオプションによって、BN および BZ 編集記述子は、B 編集記述子に影響しません。
+--------------------------------IBM 拡張の終り-------------------------------+
Input Format Value 111 B3 7 110 B3 6
Value Format Output Output (-qxlf77=oldboz の指定) (-qxlf77=nooldboz の指定) 7 B3 111 111 6 B5 00110 bb110 17 B6.5 b10001 b10001 17 B4.2 0001 **** 22 B6.5 b10110 b10110 22 B4.2 0110 **** 0 B5.0 bbbbb bbbbb 2 B0 10 10
形式:
E、D、および拡張精度 Q 編集記述子は、内部形式の実数および複素数と、それを指数付きの文字表現にしたものとの間の編集を指示します。 E、D、または拡張精度 Q 編集記述子は、実数タイプの I/O リスト項目、複素数タイプの I/O リスト項目の実数部または虚数部、
または、長さが 4 バイト以上の XL Fortran のそれ以外のタイプに対応します。
入力フィールドの形式は、 F 編集の場合と同じです。入力の場合、e は機能しません。
スケール因数の出力フィールドの形式は、次のとおりです。
>>-+-----+--+-----+--.--digit_string--decimal_exponent--------->< +- + -+ '- 0 -' '- - -' |
編集記述子 | 指数の絶対値 (スケール因数が 0) | 指数の形式 |
---|---|---|
Ew.d | |decimal_exponent| <= 99 | E±z1z2 |
Ew.d | 99<|decimal_exponent| <= 309 | ±z1z2z3 |
Ew.dEe | |decimal_exponent| <= (10e)-1 | E±z1z2...ze |
Ew.dDe * | |decimal_exponent| <= (10e)-1 * | D±z1z2...ze * |
Ew.dQe * | |decimal_exponent| <= (10e)-1 * | Q±z1z2...ze * |
Dw.d | |decimal_exponent| <= 99 | D±z1z2 |
Dw.d | 99<|decimal_exponent| <= 309 | ±z1z2z3 |
Qw.d * | |decimal_exponent| <= 99 * | Q±z1z2 * |
Qw.d * | 99<|decimal_exponent| <= 309 * | ±z1z2z3 * |
スケール因数 k (P (スケール因数) 編集を参照) は、10 進数の正規化を制御します。 -d<k<=0 ならば、出力フィールドには |k| 個の先行ゼロが入り、小数点以下の有効数字の桁数は d - |k| 桁です。 0<k<d+2 ならば、出力フィールドには、小数点の左側に k 桁の有効数字が入り、小数点の右側に d-k+1 が入ります。これ以外の k の値は使用できません。
追加情報は、編集を参照してください。
+----------------------------------IBM 拡張----------------------------------+
表示 | 意味 |
---|---|
NaNQ +NaNQ | 正の静止 NaN (番号でない) |
-NaNQ | 負の静止 NaN |
NaNS +NaNS | 正のシグナル NaN |
-NaNS | 負のシグナル NaN |
INF +INF | 正の無限大 |
-INF | 負の無限大 |
+--------------------------------IBM 拡張の終り-------------------------------+
(ブランクの解釈には BN 編集が有効であると仮定します。)
Input Format Value 12.34 E8.4 12.34 .1234E2 E8.4 12.34 2.E10 E12.6E1 2.E10
Value Format Output Output (-qxlf77=noleadzero の指定) (-qxlf77=leadzero の指定) 1234.56 E10.3 bb.123E+04 b0.123E+04 1234.56 D10.3 bb.123D+04 b0.123D+04
+---------------------------------Fortran 95---------------------------------+
(-qxlf90=signedzero の指定) (-qxlf90=nosignedzero の指定) -0.001 E5.2 -0.00 b0.00
+------------------------------Fortran 95 の終り------------------------------+
形式:
EN 編集記述子は、出力値がゼロの場合を除いて、10 進指数が 3 で割り切れ、有効数字部の絶対値が 1 以上、1000 未満である技術表記による実数値形式で出力フィールドを作り出します。スケール因数は、出力には影響しません。
EN 編集記述子は、実数タイプの I/O リスト項目、複素数タイプの I/O リスト項目の実数部または虚数部、
または長さが 4 バイト以上の XL Fortran のそれ以外のタイプに対応します。
入力フィールドの形式および解釈は、F 編集の場合と同じです。
出力フィールドの形式は、次のとおりです。
>>-+-----+--+-------+--.--digit_string--exp-------------------->< +- + -+ '- yyy -' '- - -' |
編集記述子 | 指数の絶対値 | 指数の形式 |
---|---|---|
ENw.d | |exp| <= 99 | E±z1z2 |
ENw.d | 99 < |exp| <= 309 | ±z1z2z3 |
ENw.dEe | |exp| <= 10e-1 | E±z1 ... ze |
数値編集の詳細については、編集を参照してください。
Value Format Output 3.14159 EN12.5 b3.14159E+00 1.41425D+5 EN15.5E4 141.42500E+0003 3.14159D-12 EN15.5E1 ***************
+---------------------------------Fortran 95---------------------------------+
(-qxlf90=signedzero の指定) (-qxlf90=nosignedzero の指定) -0.001 EN9.2 -1.00E-03 -1.00E-03
+------------------------------Fortran 95 の終り------------------------------+
形式:
ES 編集記述子は、出力値がゼロの場合を除いて、有効数字部の絶対値が 1 以上、10 未満である科学計算用数値形式で出力フィールドを作り出します。スケール因数は、出力には影響しません。
ES 編集記述子は、実数タイプの I/O リスト項目、複素数タイプの I/O リスト項目の実数部または虚数部、
または長さが 4 バイト以上の、XL Fortran のそれ以外のタイプに対応します。
入力フィールドの形式および解釈は、F 編集の場合と同じです。
出力フィールドの形式は、次のとおりです。
>>-+-----+--+-----+--.--digit_string--exp---------------------->< +- + -+ '- y -' '- - -' |
編集記述子 | 指数の絶対値 | 指数の形式 |
---|---|---|
ESw.d | |exp| <= 99 | E±z1z2 |
ESw.d | 99 < |exp| <= 309 | ±z1z2z3 |
ESw.dEe | |exp| <= 10e-1 | E±z1 ... ze |
数値編集の詳細については、編集を参照してください。
Value Format Output 31415.9 ES12.5 b3.14159E+04 14142.5D+3 ES15.5E4 bb1.41425E+0007 31415.9D-22 ES15.5E1 ***************
+---------------------------------Fortran 95---------------------------------+
(-qxlf90=signedzero の指定) (-qxlf90=nosignedzero の指定) -0.001 ES9.2 -1.00E-03 -1.00E-03
+------------------------------Fortran 95 の終り------------------------------+
形式:
F 編集記述子は、内部形式の実数および複素数と、それを指数なしの文字表現にしたものとの間の編集を指示します。
F 編集記述子は、実数タイプの I/O リスト項目、複素数タイプの I/O リスト項目の実数部または虚数部、
または、長さが 4 バイト以上の、XL Fortran のそれ以外のタイプに対応します。
F 編集記述子に対応する入力フィールドには、次のものがこの順序でならんでいます。
F 編集記述子に対応する入力フィールドは、次のものがこの順序でならんでいます。
追加情報は、編集を参照してください。
出力の場合、w はゼロよりも大きくなければなりません。
+---------------------------------Fortran 95---------------------------------+
Fortran 95 では、出力の場合、w はゼロでもかまいません。 w がゼロの場合、出力フィールドは出力値を表すために必要な文字の最小数で構成されます。
+------------------------------Fortran 95 の終り------------------------------+
(ブランクの解釈には BN 編集が有効であると仮定します。)
Input Format Value -100 F6.2 -1.0 2.9 F6.2 2.9 4.E+2 F6.2 400.0
Value Format Output Output (-qxlf77=noleadzero の指定) (-qxlf77=leadzero の指定) +1.2 F8.4 bb1.2000 bb1.2000 .12345 F8.3 bbbb.123 bbbb0.123 -12.34 F6.2 -12.34 -12.34
+---------------------------------Fortran 95---------------------------------+
-12.34 F0.2 -12.34 -12.34 (-qxlf90=signedzero の指定) (-qxlf90=nosignedzero の指定) -0.001 F5.2 -0.00 b0.00
+------------------------------Fortran 95 の終り------------------------------+
形式:
G 編集記述子は、任意のタイプの I/O リスト項目に対応します。整数データの編集は、I 編集記述子の規則に従い、実数および複素数データの編集は、E または F 編集記述子の規則に従います (値の大きさによる)。論理データの編集は L 編集記述子の規則に従い、文字データの編集は、A 編集記述子の規則に従います。
-qxlf77 オプションの nogedit77 サブオプション (デフォルト) が指定されると、出力フィールドの表記方法は、編集中のデータの絶対値により決まります。内部データの絶対値を N とします。
0 < N < 0.1-0.5×10-d-1 または
N >= 10d-0.5
または N が 0 で d が 0 の場合、
Gw.d の出力編集は kPEw.d の出力編集と同じであり、
Gw.dEe の出力編集は kPEw.dEe の出力編集と同じです。ただし kP は、現在有効なスケール因数を指します (P (スケール因数) 編集も参照)。 もし 0.1-0.5×10-d-1 <= N < 10d-0.5 または N が 0 で d がゼロでない場合、スケール因数は機能せず、N の値が、次のように編集を決定します。
データの絶対値 |
等価変換 |
---|---|
N = 0 |
F(w-n).(d-1),n('b') (d は 0 以外) |
0.1-0.5×10-d-1 <= N < 1-0.5×10-d |
F(w-n).d,n('b') |
1-0.5×10-d <= N < 10-0.5×10-d+1 |
F(w-n).(d-1),n('b') |
10-0.5×10-d+1 <= N < 100-0.5×10-d+2 |
F(w-n).(d-2),n('b') |
... |
... |
10d-2-0.5×10-2 <= N < 10d-1-0.5×10-1 |
F(w-n).1,n('b') |
10d-1-0.5×10-1 <= N < 10d-0.5 |
F(w-n).0,n('b') |
表中の b はブランクです。 n は、 Gw.d に対して 4 となり、Gw.dEe に対して e+2 となります。 w-n の値は正の数でなければなりません。
編集対象のデータの絶対値が F 編集の効果的使用を可能にする範囲内でなければ、スケール因数は機能しないことに注意してください。
+----------------------------------IBM 拡張----------------------------------+
0 < N < 0.1-0.5×10-d-1、 N >= 10d-0.5 の場合、または N が 0 かつ d が 0 の場合、Gw.dDe 出力編集は、 kPEw.dDe での出力編集と同じになり、 Gw.dQe での出力編集は、kPEw.dQe での出力編集と同じになります。
+--------------------------------IBM 拡張の終り-------------------------------+
出力の場合、-qxlf77 コンパイラー・オプションの gedit77 サブオプションが指定されると、数値に応じ E または F 編集を使ってこの数値が変換されます。フィールドには、必要に応じて、右側にブランクが埋められます。ある数の絶対値を N とすれば、編集は次のように行われます。
データの絶対値 | 等価変換 |
---|---|
0.1 <= N < 1 1 <= N < 10 . . 10d-2 <= N < 10d-1 10d-1 <= N < 10d |
F(w-n).d, n('b') F(w-n).(d-1), n('b') . . F(w-n).1, n('b') F(w-n).0, n('b') |
追加情報は、編集を参照してください。
Value Format Output Output (-qxlf77=gedit77 の指定) (-qxlf77=nogedit77 の指定) 0.0 G10.2 bb0.00E+00 bbb0.0 0.0995 G10.2 bb0.10E+00 bb0.10 99.5 G10.2 bb100. bb0.10E+03
形式:
I 編集記述子は、内部形式の整数と、整数を文字表現したものとの間の編集を指示します。対応する入出力リスト項目は、整数タイプ、
または XL Fortran の他のタイプになります。
w はオプションの符号を含みます。
m は、
w の値が Fortran 95 でゼロでない限り、
w 以下の値を持たなければなりません。
I 編集記述子に対応する入力フィールドは、ブランクだけからなる入力フィールドを除いて、オプションの符号のついた数字ストリングになります。入力フィールドがブランクだけからなる場合、そのような入力フィールドはゼロと見なされます。
m は出力のみ有効です。入力では機能しません。
出力の場合、w はゼロよりも大きくなければなりません。
+---------------------------------Fortran 95---------------------------------+
出力の場合、w はゼロでもかまいません。 w がゼロの場合、出力フィールドは出力値を表すために必要な文字の最小数で構成されます。
+------------------------------Fortran 95 の終り------------------------------+
I 編集記述子に対応する出力フィールドは、次のものが以下の順序でならんでいます。
数値編集の詳細については、『編集』を参照してください。
m がゼロ、w が正の数で、内部データの値がゼロの場合、出力フィールドは、w 個のブランク文字で構成されます。 w と m の両方がゼロで、内部データの値がゼロの場合、出力フィールドは、ブランク文字 1 つのみで構成されます。
(ブランクの解釈には BN 編集が有効であると仮定します。)
Input Format Value -123 I6 -123 123456 I7.5 123456 1234 I4 1234
Value Format Output -12 I7.6 -000012 12345 I5 12345
+---------------------------------Fortran 95---------------------------------+
0 I6.0 bbbbbb 0 I0.0 b 2 I0 2
+------------------------------Fortran 95 の終り------------------------------+
形式:
L 編集記述子は、内部形式の論理値と、それを文字表現したものとの間の編集を指示します。 L 編集記述子は、論理タイプの I/O リスト項目、
または、XL Fortran のそれ以外のタイプに対応します。
入力フィールドは、オプションのブランクと、それに続くオプションの小数点、さらにそれに続いて真 (true) を表す T または偽 (false) を表す F から構成されます。w はブランクを含みます。入力の場合、T または F の後にどのような文字があっても受け入れられますが、後続の文字は無視されます。したがって、 .TRUE. および .FALSE. というストリングは、受け入れ可能な入力形式です。
出力フィールドは、( w - 1 ) 個のブランクと、それに続く T または F から構成されます。
Input Format Value T L4 true .FALSE. L7 false
Value Format Output TRUE L4 bbbT FALSE L1 F
形式:
O 編集記述子は、任意のタイプの内部形式の値と、それを 8 進で表現したものとの間の編集を指示します。(8 進数字は、0 から 7 までの数です。)
w はブランクを含みます。
入力の場合、w 個の 8 進数字が編集され、入力リスト項目の値の内部表現が作られます。入力フィールド内の 8 進数字は、入力リスト項目に割り当てられた値の内部表現の右寄り部分の 8 進数字に対応します。入力の場合、m は機能しません。
出力の場合、w はゼロよりも大きくなければなりません。
+---------------------------------Fortran 95---------------------------------+
出力の場合、w はゼロでもかまいません。 w がゼロの場合、出力フィールドは出力値を表すために必要な文字の最小数で構成されます。
+------------------------------Fortran 95 の終り------------------------------+
Ow の出力フィールドは、ゼロ個以上の先行ブランクに続いて、内部値を先行ゼロなしの 8 進数字の形式で表記したもので構成されています。 8 進定数は、常に 1 桁以上からなるという点に注意してください。
Ow.m の出力フィールドは、数字ストリングが m 桁以上であるという点を除いて、Ow と同じになります。必要に応じて、数字ストリングには、先行ゼロが埋められます。 m の値は、w の値がゼロでない限り、 w の値を超えてはいけません。m がゼロで、内部データの値がゼロの場合、出力フィールドは、符号の制御が有効であるか否かにかかわらず、ブランク文字のみで構成されます。
-qxlf77 コンパイラー・オプションの nooldboz サブオプションが指定される場合 (デフォルト)、出力フィールド幅が出力全体を包含するのに不十分であるとき、アスタリスクが印刷されます。入力の場合、BN および BZ 編集記述子は、O 編集記述子に影響します。
+----------------------------------IBM 拡張----------------------------------+
-qxlf77 コンパイラー・オプションの oldboz サブオプションを指定すると、出力で以下の処理が行われます。
w がゼロの場合、oldboz サブオプションは無視されます。
oldboz サブオプションによって、 BN および BZ 編集記述子は、O 編集記述子に影響しません。
+--------------------------------IBM 拡張の終り-------------------------------+
m がゼロ、w が正の数で、内部データの値がゼロの場合、出力フィールドは、w 個のブランク文字で構成されます。 w と m の両方がゼロで、内部データの値がゼロの場合、出力フィールドは、ブランク文字 1 つのみで構成されます。
Input Format Value 123 O3 83 120 O3 80
Value Format Output Output (-qxlf77=oldboz の指定) (-qxlf77=nooldboz の指定) 80 O5 00120 bb120 83 O2 23 **
+---------------------------------Fortran 95---------------------------------+
0 O5.0 bbbbb bbbbb 0 O0.0 b b 80 O0 120 120
+------------------------------Fortran 95 の終り------------------------------+
+----------------------------------IBM 拡張----------------------------------+
形式:
文字カウント Q 編集記述子は、入力レコードに残っている文字数を戻します。その結果を使用して残りの入力を制御することができます。
また、拡張精度 Q 編集記述子もあります。最初に説明したように、デフォルトでは、 XL Fortran は前述の拡張精度 Q 編集記述子のみを認識します。詳細については、 E、D、および Q (拡張精度) 編集を参照してください。両方の Q 編集記述子を使用可能にするには、-qqcount コンパイラー・オプションを指定する必要があります。詳細については、「ユーザーズ・ガイド」の -qqcount を参照してください。
-qqcount コンパイラー・オプションを指定すると、コンパイラーは、Q 編集記述子を使用する方法により 2 つの Q 編集記述子を区別します。単独の Q を検出した場合のみ、コンパイラーは、文字カウント Q 編集記述子として解釈します。 Qw. または Qw.d を検出すると、XL Fortran は拡張精度 Q 編集記述子として解釈します。正しいセパレーターの正しい形式仕様を使用し、どちらの Q 編集記述子を指定したかを XL Fortran に解釈させてください。
文字カウント Q 編集記述子の結果として戻された値は、入力レコード長およびそのレコードの現在の文字位置によって異なります。その値は、FORMAT ステートメント内の文字カウント Q 編集記述子の位置に対応する位置にある READ ステートメントのスカラー整変数内へ戻されます。
文字カウント Q 編集記述子は、次のファイル・タイプおよびアクセス・モードのレコードを読み取ることができます。
出力操作では、文字カウント Q 編集記述子は無視されます。対応する出力項目はスキップされます。
@PROCESS QCOUNT CHARACTER(50) BUF INTEGER(4) NBYTES CHARACTER(60) STRING ... BUF = 'This string is 29 bytes long.' READ( BUF, FMT='(Q)' ) NBYTES WRITE( *,* ) NBYTES ! NBYTES equals 50 because the buffer BUF is 50 bytes long. READ(*,20) NBYTES, STRING 20 FORMAT(Q,A) ! NBYTES will equal the number of characters entered by the user. END
+--------------------------------IBM 拡張の終り-------------------------------+
形式:
Z 編集記述子は、任意のタイプの内部形式の値とその値を 16 進で表現したものとの間の編集を指示します (16 進数字は、0 〜 9、A 〜 F または a 〜 f のいずれかです)。
入力の場合、w 個の 16 進数字が編集されて、入力リスト項目の値の内部表現が作られます。入力フィールド内の 16 進数字は、入力リスト項目に割り当てられた値の内部表現の右寄り部分の 16 進数字に対応します。m は入力の場合、機能しません。
+---------------------------------Fortran 95---------------------------------+
出力の場合、w はゼロでもかまいません。 w がゼロの場合、出力フィールドは出力値を表すために必要な文字の最小数で構成されます。
+------------------------------Fortran 95 の終り------------------------------+
Zw の出力フィールドは、ゼロ個以上の先行ブランクに続いて、内部値を先行ゼロなしの 16 進数字の形式で表記したもので構成されています。 16 進定数は、常に 1 桁以上からなるという点に注意してください。
Zw.m の出力フィールドは、数字ストリングが m 桁以上であるという点を除いて、Zw と同じになります。必要に応じて、数字ストリングには、先行ゼロが埋められます。
m の値は、
w の値がゼロでない限り、w の値を超えてはいけません。
m がゼロで、内部データの値がゼロの場合、出力フィールドは、符号の制御が有効であるか否かにかかわらず、ブランク文字だけで構成されます。
m がゼロ、w が正の数で、内部データの値がゼロの場合、出力フィールドは、w 個のブランク文字で構成されます。
+---------------------------------Fortran 95---------------------------------+
w と m の両方がゼロで、内部データの値がゼロの場合、出力フィールドは、ブランク文字 1 つのみで構成されます。
+------------------------------Fortran 95 の終り------------------------------+
-qxlf77 コンパイラー・オプションの nooldboz サブオプションが指定される場合 (デフォルト)、出力フィールド幅が出力全体を包含するのに不十分であるとき、アスタリスクが印刷されます。入力の場合、BN および BZ 編集記述子は、Z 編集記述子に影響します。
+----------------------------------IBM 拡張----------------------------------+
-qxlf77 コンパイラー・オプションの oldboz サブオプションを指定すると、出力で以下の処理が行われます。
w がゼロの場合、oldboz サブオプションは無視されます。
oldboz サブオプションによって、 BN および BZ 編集記述子は、 Z 編集記述子に影響しません。
+--------------------------------IBM 拡張の終り-------------------------------+
Input Format Value 0C Z2 12 7FFF Z4 32767
Value Format Output Output (-qxlf77=oldboz の指定) (-qxlf77=nooldboz の指定) -1 Z2 FF ** 12 Z4 000C bbbC
+---------------------------------Fortran 95---------------------------------+
12 Z0 C C 0 Z5.0 bbbbb bbbbb 0 Z0.0 b b
+------------------------------Fortran 95 の終り------------------------------+