我们都知道机器对于整数的储存是分大端储存模式和小端储存模式的,那么怎么知道我们用的机器是大端还是小端呢?今天我就用c语言编写一个程序来判断大小端。如果有什么不对的请指正😀
#include<stdio.h>
int main()
{
int a = 1; //a的十六进制位是0x00000001,所以容易取出并进行判断
char* p = &a;//对p解引用时只是拿到a的第一个字节的内容
if (*p == 1) //如果是小端,那么第一个字节就是01
{
printf("小端储存模式\n");
}
else //如果是大端,那么第一个字节为00
{
printf("大端储存模式\n");
}
return 0;
}
大端储存模式 :将数据的高位字节序放在低地址处,将低位字节序放在高地址处。
小端储存模式 :将数据的高位字节序放在高地址处,将低位字节序放在低地址处。