读取流文件时,读出的8字节double类型,数据不对
读取一个流文件,有个循环里面要读取8字节。
c代码为:
bt = br.ReadBytes(8);
Double du = System.BitConverter.ToDouble(bt,0);
asp代码为:
objstr= ssobj.bytestodoublestr(srmObj.Read(8)) //自己写的函数
用java读
用double value=ins.readDouble();方法时,显示的数值不对。
用ins.read(buffer2,begin,8);读出后用高低位转换,结果还是不对
到底是怎么回事呢?我java 的基础也有点太差了。请大家帮忙给个思路,或给段代码,谢谢!!
------解决方案--------------------byte转int或者double不是这么转的
你先用InputStream读8字节数据到一个byte[]里
给你个函数,byte转int的,转double自己修改下吧
int byteToInt(byte[] b,int offset,int length) {
int s = 0;
for(int i = offset; i < offset + length - 1; i ++){
if(b[i] > =0)
s = s + b[i];
else
s = s + 256 + b[i];
s = s * 256;
}
if(b[offset + length - 1] > =0)
s = s + b[offset + length - 1];
else
s = s + 256 + b[offset + length - 1];
return s;
}
------解决方案--------------------信息太少了
------解决方案--------------------关键是你所读取的流文件是怎么来的啊???
------解决方案--------------------ding