天天看點

位元組序判斷

int a = 0x12345678;

記憶體位址:   100         101           102            103

大端:          0x12       0x34         0x56           0x78

小端:           0x78      0x56          0x34          0x12

簡單的測試程式:

#include<iostream>

using namespace std;

int main(int argc, char *argv[])

{

 int tmp = 0x12345678;

 char *pChar = NULL;

 pChar = (char*)&tmp;

 if(0x12 == *pChar)

 {

  cout<<"my machine is big endian"<<endl;

 }

 else if(0x78 == *pChar)

 {

  cout<<"my machine is little endian"<<endl;

 }

 else

 {

  cout<<"sorry, i dont now who design it, maybe come from Mars."<<endl;

 };

 return 0;

}

繼續閱讀