如果將一個32位的整數(shù)0x12345678存放到一個整型變量(int)中,這個整型變量采用大端或者小端模式在內(nèi)存中的存儲由下表所:
小端:較高的有效字節(jié)存放在較高的的存儲器地址,較低的有效字節(jié)存放在較低的存儲器地址。
大端:較高的有效字節(jié)存放在較低的存儲器地址,較低的有效字節(jié)存放在較高的存儲器地址。
由上表所知,采用大小模式對數(shù)據(jù)進行存放的主要區(qū)別在于在存放的字節(jié)順序,大端方式將高位存放在低地址,小端方式將高位存放在高地址。采用大端方式進行數(shù)據(jù)存放符合人類的正常思維,而采用小端方式進行數(shù)據(jù)存放利于計算機處理。到目前為止,采用大端或者小端進行數(shù)據(jù)存放,其孰優(yōu)孰劣也沒有定論。
bool IsBig_Endian()
{
unsigned short test = 0x1234;
if(*( (unsigned char*) &test ) == 0x12)
return TRUE;
else
return FALSE;
}
大小端