目录
大端小端问题
C 程序中的大端小端,指的是 CPU 对多字节数据(e.g. 整数、浮点数、结构体等)在内存中的存储顺序,即:字节序。
例如:CPU 要存数据 0x12345678(高位字节 => 低位字节) 存储到这块内存中:
- 小端模式(Big-endian):高位字节存储在高位地址,而低位字节存储在低位地址,与大端模式相反。
- 大端模式(Little-endian):高位字节存储在低位地址,而低位字节存储在高位地址。
而大端小端问题(Endianness),指的是在不同的 CPU 平台上,由于存储数据的顺序不同,而导致的跨平台兼容性问题。
例如:假设一个网络协议中规定了一个 int(4Byte)整数以小端模式传输,但程序运行的 CPU 却采用了大端模