·一周点击排行
·热点推荐
二级:bigendian和littleendian的测试方法
发布时间:2007-11-16 9:21:00 浏览次数: 545
其實只需要這樣一段代碼
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
讨论此主题请进>>: 二级:bigendian和littleendian的测试方法