首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java等效于php "fnum“unpack函数,用于将十六进制转换为浮点IEEE 754。

java等效于php "fnum“unpack函数,用于将十六进制转换为浮点IEEE 754。
EN

Stack Overflow用户
提问于 2019-02-04 17:53:50
回答 1查看 94关注 0票数 0

我在PHP中有这个函数:

代码语言:javascript
复制
function hex2float($strHex) {
   $array = unpack("fnum", pack("H*", $strHex));
   return $array['num'];
}

我怎么才能用java来写呢?

EN

Stack Overflow用户

回答已采纳

发布于 2019-05-28 15:39:10

我想用这种方式转换这个函数:

代码语言:javascript
复制
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);
}
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54513616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档