概要
`什么是大端序、小端序?
大端字节序存储时值的高位存储在较小的地址,值的低位存储在较大的地址。
小端字节序存储时值的高位存储在较大的地址,值的低位存储在较小的地址。
Tcp/IP规定网络字节序都是大端字节序,而主机字节序可能是大端字节序也可能是小端字节序。
在常用的TCP/UDP通信中,从主机a到主机b进行通信,其转换过程是:a的主机字节序——网络字节序 ——b的主机字节序。
常用函数
htons() : 由主机字节序转换为网络字节序的16位整数值。(host to network short)
ntohs() : 由网络字节序转换为主机字节序的16位整数值。
htonl () : 由主机字节序转换为网络字节序的32位整数值。(host to network long)
ntohl () : 由网络字节序转换为主机字节序的32位整数值。
如何确定计算机运行主机的字节序是大端序还是小端序?
#include
#include <stdio.h>
int main() {
int num = 0x00000001;
char c = (char)#
if (*c) {
printf(“*c: 0X%02x\n”, *c);
std::cout << “Little Endian”<< std::endl;
} else {
std::cout << “Big Endian”<< std::endl;
}
return 0;
}
小结
第一篇博客,打卡一下。