需要 java 代码或逻辑来解压 COBOL COMP。EBCDIC 文件中的字段。请帮忙
我已经尝试了下面的代码来解压缩 comp。但我得到的一些价值是负面的。前任。8188 我们得到 -57348
public static String getBinary(byte[] b,int decimalPointLocation) {
long val = 0;
int first_byte = b[0] & 0x0F;
for (int i = 0; i < b.length; i++) {
int low = b[i] & 0x0F;
int high = (b[i] >> 4) & 0x0f;
if (low < 0)
low *= -1;
if (high < 0)
high *= -1;
if(first_byte==15){
high = 15 -high;
low = 15 - low;
}
int num = high * 16 + low;
val = 256 * val + num;
}
if(first_byte == 15){
val++;
}
String s = ""+val;
while(s.length()<b.length*2){
s="0"+s;
}
if(first_byte == 15){
s="-"+s;
}
if (decimalPointLocation > 0) {
s = s.substring(0,
(s.length() - decimalPointLocation))
+ "."
+ s.substring(s.length()
- decimalPointLocation);
}
return s;
}