Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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:如何将双精度数字转换为十进制_Java_Matlab_Decimal_Double Precision - Fatal编程技术网

java:如何将双精度数字转换为十进制

java:如何将双精度数字转换为十进制,java,matlab,decimal,double-precision,Java,Matlab,Decimal,Double Precision,我想把双精度数字转换成十进制 例如,我有23.43,双精度值是(使用matlab):17471255 122 20110564 现在有了这个,我怎样才能编写一个java程序,让我得到23.43 以下是matlab中双精度的计算: MATLAB根据IEEE标准754构建双精度数据类型。任何存储为双精度的值都需要64位,格式如下表所示: 比特 用法 63 符号(0=正,1=负) 62至52 指数,偏置1023 51比0 数字1.f的分数f你以什么样的方式将23.43转化为它给你的怪物?:-)什么是1

我想把双精度数字转换成十进制

例如,我有23.43,双精度值是(使用matlab):17471255 122 20110564 现在有了这个,我怎样才能编写一个java程序,让我得到23.43

以下是matlab中双精度的计算:

MATLAB根据IEEE标准754构建双精度数据类型。任何存储为双精度的值都需要64位,格式如下表所示:

比特 用法

63 符号(0=正,1=负)

62至52 指数,偏置1023

51比0
数字1.f的分数f

你以什么样的方式将23.43转化为它给你的怪物?:-)什么是
174 71 255 122 20 110 55 64
?为什么不能在java程序中使用23.43?matlab给了我这个数字,我想进行转换it@melisazand我认为问题在于如何在matlab中得到“that”,而不是简单的23.43。你应该试着用matlab而不是java来修复输出。你用什么样的方式来转换23.43,它给了你那个怪物?:-)什么是
174 71 255 122 20 110 55 64
?为什么不能在java程序中使用23.43?matlab给了我这个数字,我想进行转换it@melisazand我认为问题在于如何在matlab中得到“that”,而不是简单的23.43。您应该尝试在matlab中修复输出,而不是在java中。看起来您拥有的是一个字节数组。您需要先将数字转换为长数字才能使用此答案,它应该不复杂。我尝试转换-22,现在我收到4.668931E18,首先我将字节转换为长,然后将双字节转换为长,但这个数字是什么?看起来您拥有的是字节数组。你需要先将你的数字转换成一个长的数字才能使用这个答案,它应该不会很复杂。我尝试转换-22,现在我收到4.668931E18,首先我将字节转换成长的,然后将双字节转换成长的,但这个数字是什么?
long l = Double.doubleToLongBits(double);
double d = Double.longBitsToDouble(long);