CA ADS:pic 9(2)comp字段中的3位数

时间:2017-11-11 21:13:22

标签: ads mainframe

奇怪的是这里。在测试ADS对话框期间,数值120被移动到索引字段,该字段被定义为PIC 9(2)COMP字段。

使用该索引进一步引用了这样的字段:

将Field(index)移动到FIELD2。

'索引'定义为PIC 9(2)COMP,并且在将值120移至索引之前。对话没有被摒弃。怎么会?我要担心吗?什么是移动120 ???后的'指数'的价值

由于

1 个答案:

答案 0 :(得分:1)

我假设 PIC 9(2)COMP CA ADS 中的相同 Cobol 中的相同! !!

答案在于

  • 如何实施PIC 9(2)COMP
  • 使用的编译器选项

PIC 9(2)COMP

的实施

PIC 9(2)COMP 通常被分配为1字节的2字节二进制整数。甲

  • 1 字节二进制整数可以表示 -128 - > 127 (如果使用unsigned int,则为0 - > 255)
  • 2 字节二进制整数可以表示 -32000 - > 32000 (如果使用unsigned int,则为0 - > 64000)

所以 PIC 9(2)COMP 可以存储 120

编译器

大多数(如果不是全部)Cobol编译器都可以选择检查/更正 Comp溢出,但这些选项通常关闭以提高性能。 我认为CA ADS是一样的。