OSVSVSC2MFXOPEN 

COMPUTATIONAL-3ANS85  または PACKED-DECIMAL 形式

この形式は一般に 2 進化 10 進形式と呼ばれ、数値データ項目は 10 を基数として表現されるが、数値を表す各数字はコンピューター文字の 1 バイトの半分に収められる。詳細は下記の表のとおり。符号は独立の半バイトとして末尾、つまり項目の右端または最下位の位置に置かれる。

MF 使用されない半バイトがあれば、その値はゼロに設定される。

表 1. COMPUTATIONAL-3 の数字の表現
桁の値 16 進法での数字の表現
左の半バイト (偶数桁の数字) 右の半バイト (奇数桁の数字)
0 x"00" x"00"
1 x"10" x"01"
2 x"20" x"02"
3 x"30" x"03"
4 x"40" x"04"
5 x"50" x"05"
6 x"60" x"06"
7 x"70" x"07"
8 x"80" x"08"
9 x"90" x"09"
OSVSVSC2MFXOPEN 注: 偶数桁か奇数桁かは、右側から数える。

COMPUTATIONAL-3 用に使用する符号用の桁を表 2 に示す。この形式に必要な記憶域は、該当データ項目の PICTURE 句の中の「9s」の数によってのみ決まる。詳細は表 3 のとおり。

表 2. COMPUTATIONAL-3 の符号の表現
PICTURE 句内の符号の表現 データ項目の値の符号 16 進法での符号用半バイト
符号なし なし x"0F"
符号付き + x"0C"
符号付き - x"0D"
表 3. COMP(UTATIONAL)-3ANS85  または PACKED-DECIMAL PICTURE 句の数値データの記憶域
必要なバイト数 桁数 (符号付きまたは符号なし)
1 1
2 2-3
3 4-5
4 6-7
5 8-9
6 10-11
7 12-13
8 14-15
9 16-17
10 18-19
11 20-21
12 22-23
13 24-25
14 26-27
15 28-29
16 30-31
17 32-33
18 34-35
19 36-37
20 38

例:

  1. COMPUTATIONAL-3 で PICTURE 9999 のデータ項目に値 +1234 を格納すると、次のようになる。


    *

    F は正号を表す (非表示文字)。

  2. COMPUTATIONAL-3 で PICTURE S9999 のデータ項目に値 +1234 を格納すると、次のようになる。


    *

    C は正号を表す。

  3. COMPUTATIONAL-3 で PICTURE S9999 のデータ項目に値 -1234 を格納すると、次のようになる。


    *

    D は負号を表す。

SYNCHRONIZED 句 (LEFT または RIGHT 句の有無を問わず) は、COMPUTATIONAL-3 と宣言されたデータには影響を与えない。