我有一个64位整数,我想将其解释为float。
我并不是说我想重新分配4到4.0之类的东西。
我有8个字节的数据:
Dec(int):4619191942746344941
Dec(浮动):6.6666000000000000
Hex:401AAA9930BE0DED
我的4619191942746344941存储在我的java代码中的变量中。如何将其转换为6.6666000000000000?
答案 0 :(得分:5)
class Test {
public static void main(String[] args) {
System.out.println(Double.longBitsToDouble(0x401AAA9930BE0DEDl));
}
}
打印
6.6666
答案 1 :(得分:4)
您可以使用double
方法将恰好位于long
的{{1}}的位表示转换为double
。
Double.longBitsToDouble
输出:
long test = 0x401aaa9930be0dedL;
double d = Double.longBitsToDouble(test);
System.out.println(d);
如果你真正需要的话,你总是可以将结果6.6666
投射到double
。