计算机在存储数据时,有两种方式,分别为大小端方式。
大端方式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,我们所说的端是相对于低地址而言的;小端方式式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。
下面的程序是测试你的计算机存储是那种方式:
本程序是由一个原理得出的,即联合体union的存放顺序是所有成员都从低地址开始存放得。
函数的返回值:如果是大端方式,返回 1,否则返回0。
void big_endian()
{
union{ //定义一个联合体
long temp; //定义一个长整型
char test[sizeof(long)]; //定义一个char型数组
} u;
u.temp = 1;
return (u.test[sizeof(long)-1] == 1);
}