プログラム記述 2 進入力フィールドの処理
2 進形式で読み取られたすべての入力フィールドには、コンパイラーによって フィールド長 (桁数) が割り当てられます。 フィールドがプログラム内の別の場所で定義されていない場合には、 2 バイトの 2 進フィールドには長さ 4 が割り当てられ、 4 バイトの 2 進フィールドには長さ 9 が割り当てられます。 これらの長さの制約事項のために、 2 バイトの 2 進フィールドに割り当ていることができる最高の 10 進値は 9999 となり、 4 バイトの 2 進フィールドに割り当ていることができる最高の 10 進値は 999 999 999 となります。 一般に、n 桁の 2 進フィールドには、nx9 の最大値を持たせることができます。 この説明は、小数点以下の桁数はないことを前提としています。
2 進形式の 2 バイト・フィールドはコンパイラーによって 1 から 4 桁の 10 進
フィールドに変換されるので、入力値が大きすぎることがあります。 その場合には、数値の左端桁が除去されます。 たとえば、4 桁の 2 進入力フィールドに 16 進 6000 の 2 進値が入っている場合には、
コンパイラーはこれを 10 進の 24 576 に変換します。 この 2 が除去され、結果は 4576 になります。 同様に、入力値が 2 進形式の 4 バイト・フィールドには大きすぎることがあります。 2 進フィールドの小数点以下の桁数がない (0) 場合には、2 進フィールド
の代わりに整数フィールドを定義することによって、この変換の問題を避けるこ
とができます。
注: 2 進入力フィールドを突き合わせフィールドまたは制御フィールドとして定義する
ことはできません。