毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

TMemoryStream保存下来的整型数据是颠倒的

更新时间:2013-2-17:  来源:毕业论文

TMemoryStream保存下来的整型数据是颠倒的
var  stre : TMemoryStream;   i :integer; begin  stre := TMemoryStream.Create;   i := 2222;   stre.Write(i,4);   stre.SaveToFile('d:\1.dat');

ue用16进制查看文件里面显示是AE 08 00 00
而不是08 AE 00 00或是00 00 08 AE
这是怎么回事?

这是由 CPU 的处理模式决定的。机器语言处理 double 整数时是低字在前,高字在后,处理 word 整数时是低字节在前,高字节在后。编译程序也按照这种方式排列,运行时速度最快。现在很少有人关注这个了

这个适合于所有语言?假若某协议保存协议包大小,比如java也这样保存和读取?我试了java保存的方式得出的结果不一样,保存出来的是00 00 08 AE

X86处理器就是这样的.高地位是颠倒的.
ARM处理器不是这样的. 一般只有用其他语言跟JAVA做对接的时候,或者做手持开发的时候才会有人关心。。。数据的存储方式跟CPU有关,目前桌面级CPU都是将低位放在前面,高位放在后面。JAVA因为要做到平台统一,所以强制所有平台都是高位在前面,低位在后面,所以会有你所述的发现。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。