Java 实现16进制转10进制双精度浮点数

Java 实现16进制转10进制双精度浮点数

新人第一次做项目,是用通过mqtt获取燃气表数据,传来的数据是寄存器数据需要进行转换、拼接。两个数值进行10进制转16进制转换,然后拼接成16进制,再换算位双精度浮点数。

问题:10进制转16进制、16进制转双精度浮点数

// 10进制装16进制
public static void main(String[] args) {

        int p1 = 1088256708;
        int p2 =-1273666823;
        String sp1 =Integer.toHexString(Integer.valueOf(p1));
        String sp2 =Integer.toHexString(Integer.valueOf(p2));
        String s = sp1 + sp2;  //40dd7ac4b41562f9
        Long l = Long.valueOf(s,16).longValue();
        double v = Double.longBitsToDouble(l);
        System.out.println("16进制数  "+s);
        //30187.07349142709
        System.out.println("双精度浮点数  "+v);

    }

你可能感兴趣的:(java)