COBOL压缩数据类型:type=P5

COBOL压缩数据类型:type=P5,cobol,packed-decimal,Cobol,Packed Decimal,对于COBOL专家来说,这可能是一个非常基本的问题。但我到目前为止和COBOL没有任何关系。我们正在根据角色位置处理一些文件。这些文件是从大型机发送给我们的,我们有一个布局文件,上面写着这样的东西 位置:长度:类型:说明 ----------:---------:------------------------------- 61-70:10:P5:FIELD-19(13)V(05) 71-80:10:P5:Field-29(13)V(05) 81-81:1:A/N:FLAG 82-84:3:

对于COBOL专家来说,这可能是一个非常基本的问题。但我到目前为止和COBOL没有任何关系。我们正在根据角色位置处理一些文件。这些文件是从大型机发送给我们的,我们有一个布局文件,上面写着这样的东西


位置:长度:类型:说明
----------:---------:-------------------------------

61-70:10:P5:FIELD-19(13)V(05)

71-80:10:P5:Field-29(13)V(05)

81-81:1:A/N:FLAG

82-84:3:N:天数9(3)

我理解类型A/N意味着它是字母数字。N表示数字,P表示压缩数据类型。我不明白的是P5的意思。P后面的5的意义是什么

p后面的5的意义是什么

我不确定。可能是五个16位的单词

压缩字段为10字节,包含19个字符(18位数字加上符号)。小数点是隐含的

如果符号字节(最右边的字节)不是十六进制F,请更新您的问题

如果你能用五个十六进制字符串来更新你的问题,代表五个数字,那就太好了

现在,我猜这是一个普通的压缩十进制字段。

  • p压缩十进制(即Cobol Comp-3)18位压缩十进制将占用10个字节,与给定的长度一致

  • 5小数点后的位数(猜测)

cobol中的字段定义可能是

   03 FIELD-1  pic s9(13)V(05) comp-3.

在压缩十进制中,符号保留在最后一个nyble(4位)中,每个nyble(4位)保留一个十进制数字

i、 e

  -121 is represented as x'121d'


如果您使用的是java,并且可以获得cobol copybook,那么有一些包可以使用cobol copybook读取文件。

我敢打赌它的意思是小数点后5位。

您使用的是什么编译器?您显示的输出的来源是什么?
  -121 is represented as x'121d'