读取流文件时,读出的8字节double类型,数据不对

KENNYSKY 2007-09-14 02:11:36
读取一个流文件,有个循环里面要读取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 的基础也有点太差了。请大家帮忙给个思路,或给段代码,谢谢!!
...全文
186 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
JAVA_3 2007-09-16
  • 打赏
  • 举报
回复
ding
saint13 2007-09-16
  • 打赏
  • 举报
回复
关键是你所读取的流文件是怎么来的啊???
DGCDHT 2007-09-15
  • 打赏
  • 举报
回复
信息太少了
beiouwolf 2007-09-14
  • 打赏
  • 举报
回复
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;
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧