位制转换一题

输出以下结果:

#include <iostream>
using namespace std;

union {
    unsigned char a;
    unsigned int i;
}u;

int main()
{
    u.i = 0xf0f1f2f3;
    cout << hex << u.i << endl;
    cout << hex << int(u.a) << endl;
    return 0;
}

结果:

f0f1f2f3
f3

析:

1)该题涉及内存中数据的排列问题
2)内存中数据的低字节存储在低地址,数据的高字节存储在高地址。数据的地址用它的低地址表示。

原文地址:https://www.cnblogs.com/aqing1987/p/4218200.html