Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1507602
  • 博文数量: 213
  • 博客积分: 10418
  • 博客等级: 上将
  • 技术积分: 3358
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-09 23:49
文章分类

全部博文(213)

文章存档

2014年(1)

2013年(5)

2012年(11)

2011年(2)

2010年(8)

2009年(26)

2008年(160)

分类: C/C++

2008-10-25 00:14:28

 

  1. #include <stdio.h>;

  2. union {
  3.         long Long;
  4.         char Char[sizeof(long)];
  5. }u;

  6. int main(void)
  7. {
  8.         u.Long = 1;
  9.         
  10.         if (u.Char[0] == 1)
  11.                 printf("小端\n");
  12.         else if (u.Char[sizeof(long) - 1] == 1)
  13.                 printf("大端\n");
  14.         else
  15.                 printf("addressing is strange\n");

  16.         return 0;
  17. }




  18. 或者


  19. bool IsBig_Endian()
  20. //如果字节序为big-endian,返回true;

  21. //反之为 little-endian,返回false

  22. {
  23.     unsigned short test = 0x1122;
  24.     if(*( (unsigned char*) &test ) == 0x11)
  25.        return TRUE;
  26.     else
  27.        return FALSE;
  28. }
阅读(1569) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~