此帖出自ARM技术论坛
最新回复
你们想的没错。
我在教育学生的时候,通常告诉他们,在32位系统中,基本的数据类型(不考虑浮点数)通常认为有3种:一个字节,两个字节,四个字节。
在大小端不同的情况下,CPU对内存中数据的认识是不同的。以楼主的情况为例,已知内存地址为0的区域如:【0x11】【0x22】【0x33】【0x44】
先说小端,CPU认为从0地址开始,按一个字节读取数据,读出四个,依次分别是:0x11,0x22,0x33,0x44
按两个字节读取数据,读出两个,依次分别是:0x2211,0x4433
按四个字节读取一个数据,那就是0x44332211啦
大端情况则是,从0地址开始,按一个字节读取数据,读出四个,依次分别是:0x11,0x22,0x33,0x44
按两个字节读取数据,读出两个,依次分别是:0x1122,0x3344
按四个字节读取一个数据,是0x11223344
大小端作用在MultiBytes的数据上。
简单总结:大端的处理,好就好在“所见即所得”,而小端的处理,则好在了“位高权重”。二者不分利弊,各有长处。
详情
回复
发表于 2012-6-22 23:18
点评 | ||
|
||
| |
|
|
回复 楼主 guwengchuixue 的帖子
此帖出自ARM技术论坛
| ||
|
||
EEWorld Datasheet 技术支持