怎么確定CPU對操作數(shù)的存放方式,用的是Little-endian(從低字節(jié)到高字節(jié))還是Big-endian?
呵呵,如果知道怎么用聯(lián)合體的話(再加上你是個天才:能幾分鐘內(nèi)搞出這個來的就是天才,天才也能這樣定義,出題的人大腦有問題,嘿嘿,這問題好像很容易啊):
union uT{
short a;
char b;
}u;
u.a = 0x1234;
cout << u.a << endl;
cout << (int)u.b << endl; // 如果u.b == 0x12,則采用的是Little-endian,因為聯(lián)合體占用同一個內(nèi)存空間存放成員。
// 我的CPU用的是Big-endian,從高字節(jié)到低字節(jié),因為u.b = 52,TGA的文件也是這樣存的。
// 聯(lián)合體的成員都是按地址順序從低地址向高地址存放。