题
我有一个固定宽度的文本文件,该文件已被解开自Comp-3数据为固定的宽弦。
我需要知道如何解释以下领域:
FIELD-NAME-1 PIC S9(15)V9(3) COMP-3.
FIELD-NAME-2 PIC S9(3)V9(8) COMP-3.
FIELD-NAME-3 PIC S9(3)V9(6) COMP-3.
这些出现在我的扁平的文件为:
FIELD-NAME-1 0123456789123456780
FIELD-NAME-2 01234567890
FIELD-NAME-3 012345670
我需要知道是什么数字上述会代表。
这是正确的:
FIELD-NAME-1 123456789123456.780 --> The first 0 means +ve?
FIELD-NAME-2 012.34567890
FIELD-NAME-3 012.345670
谢谢你的帮助。火腿
解决方案
S9(15)V9(3)需要19nybbles(20在的现实,因为它必须做一个甚至数nybbles)存储:
- 一个标志。
- 15整位。
- 3为非整数位(V是一个隐含的小数,而不是一个真正一)。
的标志通常出现在结束了作为 C
或 D
nybble所以这个问题的答案完全取决于什么的拆包。
你的第一例实际上具有正确数量的数字 没有 的标志,这样,我会关心你的发言,其中一人为代表的标志。要么那个,或者你已经离开"9".其他两个实例有足够的数字为签字和数字的一部分。
最好的赌注,看看你能得到负数(和其他测试数据,如1)为有看到什么产生。
不隶属于 StackOverflow