C/C++:Little-endian oder Big-endian --> CPU

C/C++:Little-endian oder Big-endian --> CPU
怎么确定CPU对操作数的存放方式,用的是Little-endian(从低字节到高字节)还是Big-endian?
呵呵,如果知道怎么用联合体的话(再加上你是个天才:能几分钟内搞出这个来的就是天才,天才也能这样定义,出题的人大脑有问题,嘿嘿,这问题好像很容易啊):
union uT{
        short a;
        char b;
}u;
u.a = 0x1234;
 
cout << u.a << endl;
cout << (int)u.b << endl;  // 如果u.b == 0x12,则采用的是Little-endian,因为联合体占用同一个内存空间存放成员。
                                   // 我的CPU用的是Big-endian,从高字节到低字节,因为u.b = 52,TGA的文件也是这样存的。
                                   // 联合体的成员都是按地址顺序从低地址向高地址存放。

你可能感兴趣的:(C/C++:Little-endian oder Big-endian --> CPU)