你那书是专门这么印的,不然怎么表现出两个元素的二进制。
真实的排布应该是011110100110000101000001(右为低位)='A' 'a' 'z'
这个代码展现了真实的电平排布
#include
#include
#include
using namespace std;
union d
{
short i;
char ii[3];
};
int main()
{
d a;
a.ii[0]='x';
bitset<8> a1(a.ii[0]);
cout<a.ii[1]='y';
bitset<8> a2(a.ii[1]);
cout<a.ii[2]='z';
bitset<8> a3(a.ii[2]);
cout<a.i=24897;
bitset<16> a4(a.i);
cout<bitset<8> a5('A');
cout<bitset<8> a6('a');
cout<int i=0;
memcpy(&i,&a,4*8);
bitset<32> bb(i);
cout<return 0;
}
内存是倒着存的,,你是不是没把short的倒回来啊
所以A跟Z是倒着的