大端与小端

一.定义
小端字节序   数据的低位字节序的内容放在低地址处;
大端字节序 数据的 低位字节序的内容放在高地址处;
比如一个数1,他的二进制表示为00 00 00 01
假设从左到右为低位到高位则存取01   00  00   00 时则为 小端字节序,00  00  00   01 时则为 大端字节序
二.利用C语言判断机器使用的大小端 
1.

int main()
{
 int a = 1;
 char *p = (char*)&a;
 if (*p == 1)
 printf("小端\n");
 else
 printf("大端\n");*/
 return 0;
}
2.
int check_sys()
{

 int a = 1;
// 如果是小端返回1
 //如果是大端返回0
 return *((char *)&a);
//或者可以分步如下
 //char*p=(char*)&a;
 //return *p;
}
int main()
{
 if (check_sys() == 1)
  printf("小端\n");
 else
  printf("大端\n");
 return 0;
}
3.
int check_sys() {  union Un//联合体  {   int i;   char c;  }un;  un.i = 1;  return un.c;
} int main() {  if (check_sys() == 1)   printf("小端\n");  else   printf("大端\n");  return 0; }


猜你喜欢

转载自blog.csdn.net/humeapz/article/details/80436834