IBM Extension

COMPUTATIONAL-5 または COMP-5 句 (2 進数)

このタイプのデータ項目は、ストレージで 2 進データとして表されます。 データ項目には、(USAGE BINARY データの場合のように) 項目のピクチャーにおける 9 の数により暗黙指定される値に制限されるのではなく、 最大でネイティブ 2 進数表記の容量 (2、4、または 8 バイト) の値を入れることができます。 数値データが COMP-5 項目に移動または保管されると、COBOL ピクチャー・サイズ限界ではなく、2 進数フィールド・サイズで切り捨てが行われます。 COMP-5 項目が参照される場合、その操作でフル 2 進数フィールド・サイズが使用されます。

*NOSTDTRUNC コンパイラー・オプションまたは NOSTDTRUNC PROCESS オプションを使用すると、 BINARY データ項目 (USAGE BINARY、COMP-4) は、USAGE COMP-5 を宣言しているかのように処理されます。 唯一異なる点として、符号なし BINARY データ項目には常に符号ビットが含まれるため、符号なし BINARY データ項目の最大値および最小値は、符号付き BINARY データ項目の場合と同じになります。

下表に、USAGE COMP-5 で記述されたデータ項目のいくつかのピクチャー文字ストリング、結果のストレージ表現、および値の範囲を示します。

表 1. COMP-5 データ項目のストレージ表現
ピクチャー ストレージ表現 数値
S9(1) ~ S9(4) 2 進数ハーフワード (2 バイト) -32768 ~ +32767
S9(5) ~ S9(9) 2 進数フルワード (4 バイト) -2,147,483,648 ~ +2,147,483,647
S9(10) ~ S9(18) 2 進数ダブルワード (8 バイト) -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807
9(1) ~ 9(4) 2 進数ハーフワード (2 バイト) 0 ~ 65535
9(5) ~ 9(9) 2 進数フルワード (4 バイト) 0 ~ 4,294,967,295
9(10) ~ 9(18) 2 進数ダブルワード (8 バイト) 0 ~ 18,446,744,073,709,551,615

COMP-5 データ項目のピクチャーは、位取り係数 (つまり、小数点以下の桁数または暗黙の整数位置) を指定できます。 この場合、上の表にリストされた最大容量は、適切に位取りする必要があります。 例えば、PICTURE S99V99 COMP-5 で記述されたデータ項目は、ストレージで 2 進数ハーフワードとして表され、 -327.68 から +327.67 の範囲の値をサポートします。

使用上の注意: ON SIZE ERROR 句を算術ステートメントで使用した場合にレシーバーが USAGE COMP-5 で定義されていると、 レシーバーに入れることができる最大値は、項目の 10 進 PICTURE 文字ストリングによって暗黙指定される値になります。 この最大値を超える値を格納しようとすると、サイズ・エラー状態が生じます。

End of IBM Extension