基于X86平台的PC机通过网络发送一个int(32位)整数的字节顺序

简介:

1.字节顺序 

  字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处。计算机中读取数据的时候是从低地址到高地址,存储数据时候相反!

2.主机字节序到网络字节序

  基于X86平台的PC机是小端字节序的,而有的嵌入式平台则是大端字节序的。因而对int、uint16、uint32等多于1字节类型的数据,在这些嵌入式平台上应该变换其存储顺序。通常我们认为,在空中传输的字节的顺序即网络字节序为标准顺序,考虑到与协议的一致以及与同类其它平台产品的互通,在程序中发数据包时,将主机字节序转换为网络字节序,收数据包处将网络字节序转换为主机字节序

3.网络字节序

  网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用big endian(大端方式)排序方式。

4.例图:

目录
相关文章
|
3月前
|
缓存 容器
从一个文件中讲稿未知数目的整数。对这些整数排序,然后把它们输出到标准输出设备。选用vector、deque 还是 list?
从文件读取未知数量的整数,排序后输出。选用`std::vector`因其能高效读取大量数据至连续内存,直接使用内置排序,提升缓存效率。避免使用`std::deque`和`std::list`,前者内存管理开销大,后者排序及随机访问较慢。
41 14
|
3月前
这几个IP地址块聚合后,可用地址数是多少?你造吗?
这几个IP地址块聚合后,可用地址数是多少?你造吗?
|
4月前
|
运维 关系型数据库 Serverless
函数计算产品使用问题之如何在日志中打印出你本地机器的IP地址
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
前端开发 芯片
【芯片前端】延迟一拍出数的握手型ram结构的一次探索
【芯片前端】延迟一拍出数的握手型ram结构的一次探索
104 0
|
6月前
|
存储 C语言
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
65 0
|
前端开发
浏览器接收Long型数据精度丢失问题的解决方案
浏览器接收Long型数据精度丢失问题的解决方案
|
存储 C语言
【实验向】问题:假设计算机A和计算机B通信,计算机A给计算机B发送一串16个字节的二进制字节串,以数组形式表示:
【实验向】问题:假设计算机A和计算机B通信,计算机A给计算机B发送一串16个字节的二进制字节串,以数组形式表示:
143 0
|
存储 编译器 C语言
计算机大端与小端的详细解析,含判断机器大小端代码
计算机大端与小端的详细解析,含判断机器大小端代码
310 0
|
存储 前端开发 rax
【CSAPP】x86-64的中央处理单元16个存储64位值的通用目的寄存器
【CSAPP】x86-64的中央处理单元16个存储64位值的通用目的寄存器
154 0
【CSAPP】x86-64的中央处理单元16个存储64位值的通用目的寄存器
|
JSON 编解码 网络协议
海量用户通讯信息-服务器接收长度|学习笔记
快速学习海量用户通讯信息-服务器接收长度
海量用户通讯信息-服务器接收长度|学习笔记