パック 10 進数形式は、記憶域の各バイト (最下位バイトは除く) に 2 つの 10 進を入れることができることを意味します。 最下位バイトには、その左端部分に 1 桁の数字が入り、右端部分には符号 (正ま たは負) が入ります。 使用される標準の符号は、正数には 16 進の F および負数には 16 進の D です。 パック 10 進数形式は、次のようになります。
最下位バイトの符号部分は、数字部分に表された数値が正と負のいずれである かを示します。 図 90 は、10 進 21544 がパック 10 進数形式 でどのようになるかを示しています。
パック 10 進数フィールドの桁数による長さを見付けるためには、次の式を使用 してください。
桁数 = 2n - 1 ここで n = 使用するパック形式の入力レコードの桁数。
この式によって、パック 10 進数形式で表現できる最大桁数が得られます。上限 は 63 です。
パック・フィールドの長さは最高 32 バイトとすることができます。 表 26 は、最高 63 桁の長さのゾーン 10 進数フィールドと同等の パック 10 進数フィールドを示しています。
ゾーン 10 進数 の長さ (桁) |
パック 10 進数フィールドで 使用されるバイト数 |
---|---|
1 | 1 |
2、3 | 2 |
4、5 | 3 |
· · · |
· · · |
28、29 | 15 |
30、31 | 16 |
· · · |
· · · |
60、61 | 31 |
62、63 | 32 |
たとえば、パック 10 進数形式で読み取られた入力フィールドの長さが (入力ま たは定義仕様書に指定されたとおりの) 5 バイトであったとします。 このフィールド の桁数は 2(5) - 1 つまり 9 と等しくなります。したがって、このフィールドが 演算仕様書で使用される時には、結果のフィールドは 9 桁の長さがなければなりません。 定義仕様書の PACKEVENキーワードを使用して、桁数では なく、開始位置および終了位置を使用してパック・サブフィールドを指定するときに必要な 2 つの使用可能なサイズのいずれかを指定することができます。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.