在C语言中,为了在不同的字节序之间进行转换,可使用socket库中的提供API转换函数,主要包括下面四个:
htons:把unsigned short类型从主机序转换到网络序
htonl:把unsigned long类型从主机序转换到网络序
ntohs:把unsigned short类型从网络序转换到主机序
ntohl:把unsigned long类型从网络序转换到主机序
如对于整数0x12345678,在Windows系统上默认是小端序存储,将其转换为大端存储的方式,其C语言代码如下:
C语言实现代码
其运行结果为:
运行结果
在调试状态下,在内存窗口中查看变量a和变量b的地址,也可以清晰的看到两种字节序的不同存储情况。本例中变量a和变量b的地址分别为0x00B3FD3C和0x00B3FD24:
变量a和变量b的地址内容
留言与评论(共有 0 条评论) |