Java-эквивалент php & quot; fnum & quot; распаковать функцию для преобразования шестнадцатеричного в плавающий IEEE 754 в Java

У меня есть эта функция в PHP:

function hex2float($strHex) {
$array = unpack("fnum", pack("H*", $strHex));
return $array['num'];
}

Как я могу написать это в Java?

Решено: я решил преобразовать эту функцию таким образом:

private Float hex2float(String hexStr) {
Float result = null;
try {
byte[] decodes = Hex.decodeHex(hexStr.toCharArray());
result = getFloat(decodes, 0);
} catch (DecoderException e) {
// log error
}
return result;
}

private float getFloat(byte[] b, int index) {
int l;
l = b[index + 0];
l &= 0xff;
l |= ((long) b[index + 1] << 8);
l &= 0xffff;
l |= ((long) b[index + 2] << 16);
l &= 0xffffff;
l |= ((long) b[index + 3] << 24);
return Float.intBitsToFloat(l);
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]