1,什么是字节顺序
指的就是数据在内存里存储的顺序,通常我们默认一个存储单元为1Byte,一个逻辑数据比如Float是4个Byte,它在内存理存储的顺序可以是高字节在前,也可以是低字节在前.这样就有区分了.
2,有些什么顺序:
Big-Endian(MSB),高字节在低地址 中文称“大端”
Little-Endian(LSB),低字节在低地址 中文称“小端”
3,为什么要有字节顺序?
因为程序需要与外界通讯,传送数据,这里的外界包括其他机器和其他语言写的程序.比如x86下c++程序与linux底下的程序通讯,比如c++和java的程序通讯.都会涉及到字节存放顺序的问题.
4,哪些会是Big-Endian,哪些会是Little-Endian
网络协议都是Big-Endian的,Java编译的都是Big-Endian的
Motorola的PowerPC是Big-Endian的
x86系列则采用Little-Endian方式存储数据。
ARM同时支持 big和little,实际应用中通常使用Little-Endian
5. 我的示例程序,可以测试本机CPU是哪种Endian