检测机器的CPU的字节序(Big Endian OR Little Endian)

include
[cpp] view plain copy
  1. #include   
  2. // The CPU bytes order  
  3. enum TCPUArch {LITTLE_ENDIAN, BIG_ENDIAN, NONEIEEE};  
  4. int main(int argc, char *argv[])  
  5. {  
  6.     using namespace std;  
  7.     TCPUArch architecture;  
  8.     union   
  9.     {   
  10.         double f;  
  11.         unsigned int x[2];  
  12.     } testcpu;  
  13.     testcpu.f = 1.0;  
  14.     if( testcpu.x[1] == 0x3FF00000 )   
  15.         architecture = LITTLE_ENDIAN;  
  16.     else if( testcpu.x[0] == 0x3FF00000 )  
  17.         architecture = BIG_ENDIAN;  
  18.     else  
  19.         architecture = NONEIEEE;  
  20.     cout << architecture << endl;  
  21.     return 0;  
  22. }  
 

 

Power PC的朋友试一下看看是否是BIG ENDIAN?


FROM:  http://blog.csdn.net/woyaoying/article/details/4333434

你可能感兴趣的:(Linux_Comon,C/C++语言)