java:如何将双精度数字转换为十进制
我想把双精度数字转换成十进制 例如,我有23.43,双精度值是(使用matlab):17471255 122 20110564 现在有了这个,我怎样才能编写一个java程序,让我得到23.43 以下是matlab中双精度的计算: MATLAB根据IEEE标准754构建双精度数据类型。任何存储为双精度的值都需要64位,格式如下表所示: 比特 用法 63 符号(0=正,1=负) 62至52 指数,偏置1023 51比0java:如何将双精度数字转换为十进制,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
数字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);