COBOL COMP を展開するには、Java コードまたはロジックが必要です。EBCDIC ファイルのフィールド。助けてください
コンプを解凍するために以下のコードを試しました。しかし、私が得るいくつかの値は負です。元。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;
}