![]() ![]() |
|
bigendian和littleendian的测试方法 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 13:57:08 文章录入:杜斌 责任编辑:杜斌 | |
|
|
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 |
|
![]() ![]() |