位制转换一题

输出以下结果:

#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)内存中数据的低字节存储在低地址,数据的高字节存储在高地址。数据的地址用它的低地址表示。

你可能感兴趣的:(转换)