我们的电脑一般分为大端和小端。所谓的大端:就是将高序字节存储在起始地址。而小端则是:将低序字节存储在起始地址。在我们的网络传输中,一律使用的是大端的字节存储方式。那我们怎么知道我们的电脑到底是大端还是小端呢?
以下代码可以判断一个电脑是否是大小端:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
union{
short s;
char c[sizeof short];
}un;
un.s = 0x0102;
if (un.c[0] == 1 && un.c[1] == 2)
printf("big-endian\n");
else if (un.c[0] == 2 && un.c[1] == 1)
printf("little-endian\n");
else
printf("unknown\n");
exit(0);
}