广告载入中
  所在位置:网站首页 -> 网络学院 -> C语言 -> 数据结构和算法 -> bigendian和littleendian的测试方法
我要发言 发起投票 发起交易 任务悬赏 回复话题              

bigendian和littleendian的测试方法

时间:2007-12-5 12:12:05 作者: 贝壳 短消息 收藏 编辑 删除
广告载入中
广告载入中
广告载入中
其實只需要這樣一段代碼
union UA
{
int a;
char c[4];
}u;
u.a = 0x12345678;

cout << hex << (unsigned short)u.c[0] << endl
<< hex << (unsigned short)u.c[1] << endl
<< hex << (unsigned short)u.c[2] << endl
<< hex << (unsigned short)u.c[3] << endl;
如果輸出的第一個為 78那么就是小端 如果是12 就是大端。

但是 有時候 需要在編譯期 確定 那么就需要用宏來完成:

可以根據所用的cpu然后寫可移植的代碼

#define BYTE_ORDER

#define LITTLE_ENDIAN 1234
#define BIG_ENDIAN 4321

# if( BYTE_ORDER == LITTLE_ENDIAN )
// then little endian
#else
// then bigendian
#endif
广告载入中

看看评论

快速回复

  • 支持UBB,HTML标签


  • 高级回复
  • 广告载入中
      
    操作选项: 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖   
    看看456-学习娱乐在线门户.致力为一切由互联网接入本站的朋友们,倾情打造一片学习娱乐新时空!
    Copyright ? 2007-2009 www.kankan456.com online services. All rights reserved. 浙ICP备07003587号
    欢迎您在看看发布各类原创作品和讨论话题,您的支持是“看看456”前进的基石