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

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里面的内容.

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

如何简单的判断机器的大小端字节序

如何简单的判断机器的大小端字节序

请问 网络编程里的主机字节顺序和网路字节概念?

字节顺序:大端模式和小端模式

大端模式与小端模式网络字节顺序与主机字节顺序

字节序