Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java将64位整数解释为浮点_Java_Double - Fatal编程技术网

Java将64位整数解释为浮点

Java将64位整数解释为浮点,java,double,Java,Double,我有一个64位整数,我想将其解释为浮点 我不是说我想重新分配4到4.0之类的东西 我有以下8个字节的数据: 十二月内:4619191942746344941 12月浮动:66660000000 六角:401AA9930BE0DED 我将4619191942746344941存储在java代码的一个变量中。如何将其转换为6.66660000000?使用: 印刷品 6.6666 可以使用double.longBitsToDouble方法将恰好位于long中的double的位表示形式转换为doubl

我有一个64位整数,我想将其解释为浮点

我不是说我想重新分配4到4.0之类的东西

我有以下8个字节的数据:

十二月内:4619191942746344941

12月浮动:66660000000

六角:401AA9930BE0DED

我将4619191942746344941存储在java代码的一个变量中。如何将其转换为6.66660000000?

使用:

印刷品

6.6666

可以使用double.longBitsToDouble方法将恰好位于long中的double的位表示形式转换为double

输出:

6.6666

如果你真的需要的话,你可以将结果双精度转换成浮点。

处理类似问题的第一步是阅读文档。@T.J.Crowder那么他应该阅读哪些文档?我们这些已经知道答案的人知道应该看哪个javadoc。那些不知道的人——像这样的回答可能就像说这是一个叫做Java API规范的草堆,去那里寻找你的针。@ajb:我本来是从Double开始的,如果有必要,继续使用Long,但当然,这是不必要的。@t.J.Crowder当然,我也会这样做。但是你和我已经对这种语言有了足够的了解,这样我们就知道从哪里开始了。我不确定经验较少的程序员会知道这一点。他并不是在使用双重职业;如果有人需要知道如何使用他们正在使用的特定类,那么告诉他们查看该类的javadoc非常简单。但这不适用于这里。
long test = 0x401aaa9930be0dedL;
double d = Double.longBitsToDouble(test);
System.out.println(d);
6.6666