如何在java中将十六进制数字串转换为双精度数?
在matlab中它很简单:
>> hex2num('c0399999a0000000')
ans =
-25.6000
Run Code Online (Sandbox Code Playgroud)
但我可以在java中做同样的事情吗?
我试过parseInt()但是这个数字不是整数.
我有一个osg和ive格式的汽车3D模型,是否可以将其转换为.obj或3ds格式?我正在使用一个只能加载.3ds和.obj格式的工具.该工具是processing.js.
我想将双精度数转换为十进制数.
例如我有23.43,双值将是(使用matlab):174 71 255 122 20 110 55 64现在有这个如何编写一个给我23.43的java程序?
这里是matlab中双精度的计算:
MATLAB根据IEEE标准754构造双精度的双精度数据类型.存储为double的任何值都需要64位,格式如下表所示:
比特用法
63符号(0 =正,1 =负)
62至52指数,偏向1023
51到0数字1.f的分数f
我正在尝试将一些数据保存到数组中但不幸的是所有数据都保存到数组[0]中,而它通常不应该这样.
int j = 0;
while ( j < data.length ) {
float unbin = binary(data[2*j+1])+binary(data[2*j]);
float[] bin = new float[] {unbin};
print(bin);
j = j + 2;
}
Run Code Online (Sandbox Code Playgroud)
它写了所有的数据bin[0],我的代码有什么问题?
我该怎么写:
bin[j] = unbin ?
Run Code Online (Sandbox Code Playgroud)
在j = 0时将数据保存在bin [0]中,依此类推?
这是更新的代码:
int j = 0 ;
float[] bin1 = new float[(data.length/2)];
while (j < data.length ) {
if ( data[2*j+2] >= 0 ) {
String unhx =(binary(data[2*j+3])+binary(data[2*j+2])+binary(data[2*j+1])+binary(data[2*j]));
float unbin = ((float)unbinary(unhx)/100);
bin1[j/2] = unbin;
print(bin1[1]);
}
else if ( …Run Code Online (Sandbox Code Playgroud)