大端存储的数据如何按小端读出来?(或者反之)
TTeN 2017-08-06 02:58:03 在用C++读取一数据文件,用FILE * fp=fopen(filename,"rb")打开后,
用fread读一个short int,
比如这个数实际上值为a=8023(0x1f57)
但用
short int a;
fread(&a,1,2,fp);
读出来的结果为 a=22303 (即 0x 571f)
查了下这是大小端的问题,
那我应怎么把这个转换过来 获得我想要的8023的结果呢?
或者说:
一个float型(因为这个文件中我还需处理float型),他的实际上为 0x 10 21 52 53
结果用我上述的办法读出来 为 0x 53 52 21 10
我应该如何得到我想要的实际结果呢?
求大神指点。