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