Chinaunix首页 | 论坛 | 博客
  • 博客访问: 157673
  • 博文数量: 76
  • 博客积分: 1513
  • 博客等级: 上尉
  • 技术积分: 755
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-25 15:15
文章分类

全部博文(76)

文章存档

2012年(2)

2011年(74)

我的朋友

分类: C/C++

2011-11-25 20:59:12

  1. /*

  2.  * main.cpp

  3.  *

  4.  * Created on: Jun 8, 2011

  5.  * Author: xq

  6.  */

  7.  

  8. #include<iostream>

  9. #include<stdint.h>

  10. using namespace std;

  11.  

  12. int is_little_endian(void)

  13. {

  14. uint16_t flag=0x1324;

  15. uint8_t flag2=*(uint8_t*)&flag;

  16. if(flag2==0x24)

  17. return 1;

  18. else

  19. return 0;

  20. }

  21.  

  22.  

  23.  

  24. int main()

  25. {

  26. if(is_little_endian)

  27. cout<<"little endian\n";

  28. else

  29. cout<<"big endian\n";

  30. union endian_un

  31. {

  32. short flag;

  33. char bits[sizeof(short)];

  34. };

  35. union endian_un flag;

  36. flag.flag=0x1234;

  37. if(flag.bits[0]==0x12&&flag.bits[1]==0x34)

  38. cout<<"big endian\n";

  39. else if(flag.bits[0]==0x34&&flag.bits[1]==0x12)

  40. cout<<"little endian\n";

  41. else

  42. cout<<"error\n";

  43. return 0;

  44. }
Output:

little endian

little endian

阅读(394) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~