所谓大端机,小端机,主要是根据机器对长字节的数字存储方式的特点
大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
运行程序如下,主要是利用了,联合体共享内存的特点
int main()
{union checkcpu{
unsigned int num;
unsigned char bit[4];
}test;
test.num = 0x12345678;
for(int i = 0; i<4; i++)
/*printf("%x\n", test.bit[i]);*/
cout<<hex<<(int)test.bit[i]<<endl;
}
如图,该机器低位存在低地址,高位存在高地址,其存储为小端模式(想象一滴水滴,小端点即大头像左,小头向右)。