如何确定一个机器的字节顺序是大端还是小端

Posted 梦中山河

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何确定一个机器的字节顺序是大端还是小端相关的知识,希望对你有一定的参考价值。

  1. int x = 1;  
  2. if(*(char *)&x == 1)  
  3.     printf("little-endian\n");  
  4. else  printf("big-endian\n");  

 

*(char *)&x
先将x的地址(int类型)转换为char *
再取这个(char *)地址里的内容*(char *)&x,判断里面的值是否等于1.

操作对象是 整型数地址 &x

eg: 如果x的地址为 2000 2001 2002 2003 这四个单元
则 *(char *)&x 相当于地址 2000里面的内容.

以上是关于如何确定一个机器的字节顺序是大端还是小端的主要内容,如果未能解决你的问题,请参考以下文章