1、什么是大、小端存储
- 大端模式(big-endian): 高位字节排放在内存的低地址端 ; 低位字节排放在内存的低地址段 (高低,低高)
小端模式 : 高字节高内存地址,低字节低内存地址
例:一个十六进制数 : 0x12345678,存储的起始地址为:0011AA66
| 地址偏移 | 大端模式 | 小端模式 |
|---|---|---|
| 0x00 | 12 | 78 |
| 0x01 | 34 | 56 |
| 0x02 | 56 | 34 |
| 0x03 | 78 | 12 |
存储以字节为单位
2、网络字节序
网络字节序 : 大端模式 (TCP/IP规定好的数据表示格式,与具体的CPU类型,操作系统无关)
SO : 网络传输通信,以大端方式进行传输,传输到网络之前作数据模式转换预处理
3、大小端转换常用函数 (C)
uint32_t htonl(uint32_t host_long) //将32位的长整数从主机字节序转换成网络字节序uint16_t htons(uint16_t host_short)ui

本文介绍了大端模式和小端模式的存储原理,以及网络字节序的规定,即大端模式。同时,提到了在进行网络通信时需要将主机的数据模式转换为网络字节序,并列举了C语言中进行大小端转换的常用函数。此外,还指出了大小端模式在不同处理器间数据传递和网络数据传输中的应用,以及在处理结构体时的注意事项。

410

被折叠的 条评论
为什么被折叠?



