关于二进制文件储存格式

本文详细介绍了Matlab中文件读取时字节顺序的多种选项,包括native、big-endian、little-endian等,并提供了相应的代码实现。此外,文章还讨论了在不同平台下进行数据交换时如何使用C++代码进行位置互换。
摘要由CSDN通过智能技术生成

matlab中给出以下几种类型,供参考:

machinefmt — Order for reading bytes'n' (default) | 'b' | 'l' | 's' | 'a' | ...

Order for reading bytes in the file, specified as one of the strings in the table that follows. For bitn and ubitn precisions, machinefmt specifies the order for reading bits within a byte, but the order for reading bytes remains your system byte ordering.

'n' or 'native'

Your system byte ordering (default)

'b' or 'ieee-be'

Big-endian ordering

'l' or 'ieee-le'

Little-endian ordering

's' or 'ieee-be.l64'

Big-endian ordering, 64-bit long data type

'a' or 'ieee-le.l64'

Little-endian ordering, 64-bit long data type

By default, all currently supported platforms use little-endian ordering for new files. Existing binary files can use either big-endian or little-endian ordering.


c++中对于int,和float的数据,可以用下列方法进行位置互换:

((unsigned int *)data)[i] = ntohl(((unsigned int *)data)[i]);

参考:

http://cn.mathworks.com/help/matlab/ref/fread.html#inputarg_machinefmt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值