Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


例: 数値データおよび内部表現

次の表は、数値項目の内部表現を示します。

次の表は、ネイティブ・データ形式の数値項目の内部表現を示しています。 USAGE NATIONAL を持つ数値項目は、UTF16-LE (リトル・エンディアン) エンコードで表現されます。 ここでは、BINARY(NATIVE)CHAR(NATIVE)、および FLOAT(NATIVE) コンパイラー・オプションが有効であるものとします。

表 4. ネイティブの数値項目の内部表現
数値タイプ PICTURE および USAGE 文節とオプションの SIGN 文節 内部表現
外部 10 進数 PIC S9999 DISPLAY + 1234     31 32 33 34
- 1234    31 32 33 74
  1234    31 32 33 34
PIC 9999 DISPLAY   1234    31 32 33 34
PIC 9999 NATIONAL   1234 31 00 32 00 33 00 34 00
PIC S9999 DISPLAY
  SIGN LEADING
+ 1234    31 32 33 34
- 1234    71 32 33 34
PIC S9999 DISPLAY
  SIGN LEADING SEPARATE
+ 1234 2B 31 32 33 34
- 1234 2D 31 32 33 34
PIC S9999 DISPLAY
  SIGN TRAILING SEPARATE
+ 1234    31 32 33 34 2B
- 1234    31 32 33 34 2D
PIC S9999 NATIONAL
  SIGN LEADING SEPARATE
+ 1234 2B 00 31 00 32 00 33 00 34 00
- 1234 2D 00 31 00 32 00 33 00 34 00
PIC S9999 NATIONAL
  SIGN TRAILING SEPARATE
+ 1234 31 00 32 00 33 00 34 00 2B 00
- 1234 31 00 32 00 33 00 34 00 2D 00
2 進数 PIC S9999 BINARY
PIC S9999 COMP
PIC S9999 COMP-4
+ 1234    D2 04
- 1234    2E FB
PIC S9999 COMP-5 + 123451    39 30
- 123451    C7 CF
PIC 9999  BINARY
PIC 9999  COMP
PIC 9999  COMP-4
  1234    D2 04
PIC 9999  COMP-5   600001    60 EA
内部 10 進数 PIC S9999 PACKED-DECIMAL
PIC S9999 COMP-3
+ 1234    01 23 4C
- 1234    01 23 4D
PIC 9999  PACKED-DECIMAL
PIC 9999  COMP-3
  1234    01 23 4C
内部浮動小数点 COMP-1 + 1234 00 40 9A 44
- 1234 00 40 9A C4
COMP-2 + 1234 00 00 00 00 00 48 93 40
- 1234 00 00 00 00 00 48 93 C0
外部浮動小数点 PIC +9(2).9(2)E+99 DISPLAY + 12.34E+02 2B 31 32 2E 33 34 45 2B 30 32
- 12.34E+02 2D 31 32 2E 33 34 45 2B 30 32
PIC +9(2).9(2)E+99 NATIONAL + 12.34E+02 2B 00 31 00 32 00 2E 00 33 00
34 00 45 00 2B 00 30 00 32 00
- 12.34E+02 2D 00 31 00 32 00 2E 00 33 00
34 00 45 00 2B 00 30 00 32 00
  1. この例では、COMP-5 データ項目に含めることのできる値が、PICTURE 文節の 9 の数によって暗黙指定された値に制限されるのではなく、固有 2 進数表現 (2、4、または 8 バイト) の容量までの大きさの値を入れることができることを示しています。

次の表は、zSeries データ形式の数値項目の内部表現を示しています。 USAGE NATIONAL を持つ数値項目は、UTF16-LE エンコードで表現されます。 ここでは、BINARY(S390)CHAR(EBCDIC)、および FLOAT(HEX) コンパイラー・オプションが有効であるものとします。

表 5. BINARY(S390)、CHAR(EBCDIC)、および FLOAT(HEX) が有効である場合の数値項目の内部表記
数値タイプ PICTURE および USAGE 文節とオプションの SIGN 文節 内部表現
外部 10 進数 PIC S9999 DISPLAY + 1234    F1 F2 F3 C4
- 1234    F1 F2 F3 D4
  1234    F1 F2 F3 C4
PIC 9999 DISPLAY   1234    F1 F2 F3 F4
PIC 9999 NATIONAL   1234 31 00 32 00 33 00 34 00
PIC S9999 DISPLAY
  SIGN LEADING
+ 1234     C1 F2 F3 F4
- 1234    D1 F2 F3 F4
PIC S9999 DISPLAY
  SIGN LEADING SEPARATE
+ 1234 4E F1 F2 F3 F4
- 1234 60 F1 F2 F3 F4
PIC S9999 DISPLAY
  SIGN TRAILING SEPARATE
+ 1234    F1 F2 F3 F4 4E
- 1234    F1 F2 F3 F4 60
PIC S9999 NATIONAL
  SIGN LEADING SEPARATE
+ 1234 2B 00 31 00 32 00 33 00 34 00
- 1234 2D 00 31 00 32 00 33 00 34 00
PIC S9999 NATIONAL
  SIGN TRAILING SEPARATE
+ 1234 31 00 32 00 33 00 34 00 2B 00
- 1234 31 00 32 00 33 00 34 00 2D 00
2 進数 PIC S9999 BINARY
PIC S9999 COMP
PIC S9999 COMP-4
+ 1234    04 D2
- 1234    FB 2E
PIC S9999 COMP-5 + 123451    39 30
- 123451    C7 CF
PIC 9999  BINARY
PIC 9999  COMP
PIC 9999  COMP-4
  1234    04 D2
PIC 9999  COMP-5   600001    60 EA
内部 10 進数 PIC S9999 PACKED-DECIMAL
PIC S9999 COMP-3
+ 1234    01 23 4C
- 1234    01 23 4D
PIC 9999  PACKED-DECIMAL
PIC 9999  COMP-3
  1234    01 23 4C
内部浮動小数点 COMP-1 + 1234 43 4D 20 00
- 1234 C3 4D 20 00
COMP-2 + 1234 43 4D 20 00 00 00 00 00
- 1234 C3 4D 20 00 00 00 00 00
外部浮動小数点 PIC +9(2).9(2)E+99 DISPLAY + 12.34E+02 4E F1 F2 4B F3 F4 C5 4E F0 F2
- 12.34E+02 60 F1 F2 4B F3 F4 C5 4E F0 F2
PIC +9(2).9(2)E+99 NATIONAL + 12.34E+02 2B 00 31 00 32 00 2E 00 33 00
34 00 45 00 2B 00 30 00 32 00
- 12.34E+02 2D 00 31 00 32 00 2E 00 33 00
34 00 45 00 2B 00 30 00 32 00
  1. この例では、COMP-5 データ項目に含めることのできる値が、PICTURE 文節の 9 の数によって暗黙指定された値に制限されるのではなく、固有 2 進数表現 (2、4、または 8 バイト) の容量までの大きさの値を入れることができることを示しています。

ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)