判断代码是运行在小端机器还是大端机器上

10个月前 阅读 126 评论 0 赞 0

X86系统一个双字节的布局.表示二进制最小部分的最低字节,位于第零到七位,使用的则是内存地址的最小之处.这是一种小端组织.有些CPU将双字的所有字节位置逆序了.则是大端组织.
判断机器使用的是大端或小端的方法也非常简单.

  1. #include <stdio.h>
  2. union
  3. {
  4. unsigned long bits32;
  5. unsigned char bytes[4];
  6. }theValue;
  7. void main(){
  8. theValue.bytes[0] = 0;
  9. theValue.bytes[1] = 1;
  10. theValue.bytes[2] = 0;
  11. theValue.bytes[3] = 0;
  12. int isLittleEndian = theValue.bits32 == 256;
  13. printf("%d",isLittleEndian);
  14. }
你的支持将鼓励作者继续创作

评论(0)

(无)