将看到字节序的不同。
#include <stdio.h> main() { int i; char *c; i = 2139127808; c=(char*)&i; if (c[0] == 0 && c[3] == 127) printf("小端字节序处理器\n"); else if (c[0] == 127 && c[3] == 0) printf("大端字节序处理器\n"); }
TCP/IP协议栈采用大端字节序,所以应用程序有时需要在处理器字节序与网络字节序之间转换。
对于TCP/IP应用程序,提供了四个通用函数实施处理器字节序和网络字节序之间的转换
#include <arpa/inet.h> uint32_t htonl(uint32_t hostlong); 返回值:以网络字节序表示的32位整型数 uint16_t htons(uint16_t hostshort); 返回值:以网络字节序表示的16位整型数 uint32_t ntohl(uint32_t netlong); 返回值:以主机字节序表示的32位整型数 uint16_t ntohs(uint16_t netshort); 返回值:以主机字节序表示的32位整型数
原文:http://blog.csdn.net/aspnet_lyc/article/details/21160933