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

简介: 1.字节顺序    字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处。

1.字节顺序 

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

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

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

3.网络字节序

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

4.例图:

目录
相关文章
|
22天前
不使用第三方变量的情况下交换两个数值
不使用第三方变量的情况下交换两个数值
18 1
|
3月前
|
存储 C语言
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
32 0
|
11月前
|
存储 C语言
【实验向】问题:假设计算机A和计算机B通信,计算机A给计算机B发送一串16个字节的二进制字节串,以数组形式表示:
【实验向】问题:假设计算机A和计算机B通信,计算机A给计算机B发送一串16个字节的二进制字节串,以数组形式表示:
111 0
|
存储 编译器 C语言
计算机大端与小端的详细解析,含判断机器大小端代码
计算机大端与小端的详细解析,含判断机器大小端代码
208 0
|
存储 前端开发 rax
【CSAPP】x86-64的中央处理单元16个存储64位值的通用目的寄存器
【CSAPP】x86-64的中央处理单元16个存储64位值的通用目的寄存器
120 0
【CSAPP】x86-64的中央处理单元16个存储64位值的通用目的寄存器
pb 数据窗口打印设置
pb 数据窗口打印设置
363 0
|
JSON 编解码 网络协议
海量用户通讯信息-服务器接收长度|学习笔记
快速学习海量用户通讯信息-服务器接收长度
124 0
海量用户通讯信息-服务器接收长度|学习笔记
|
存储 异构计算
FPGA-基于UART的QVGA显示(一)(实现PC端发送字母数字汉字的分别显示)
FPGA-基于UART的QVGA显示(一)(实现PC端发送字母数字汉字的分别显示)
133 0
FPGA-基于UART的QVGA显示(一)(实现PC端发送字母数字汉字的分别显示)
微机原理:当前CS=1000H,IP=0280H,SP=1800H,PS=W0241H,执行INT 7后,寄存器和栈顶相关单元的内容
微机原理:当前CS=1000H,IP=0280H,SP=1800H,PS=W0241H,执行INT 7后,寄存器和栈顶相关单元的内容是什么?
189 0
微机原理:当前CS=1000H,IP=0280H,SP=1800H,PS=W0241H,执行INT 7后,寄存器和栈顶相关单元的内容