中国开发网: 论坛: 超级垃圾站: 贴子 548255
leejd
字节顺序和位域顺序
ZT【http://blog.csdn.net/daly888/archive/2007/05/05/1597267.aspx】

大端和小端的讨论,一般计算机组成原理教材都会有谈到,但多数不够深入。

Big Endian: 高位字节放到内存的低位地址,反之亦然。以太网网络传输字节序, PowerPC, UltraSparc一类的处理器采用大端。

Little Endian: Intel的IA-32架构采用。高位字节放到内存高位地址。记得学X86结构是有一记忆口令:High high, low low

比特位顺序一般和字节序的端模式相同,但是这涉及硬件连线方式,一般软件设计不需要管。
注意,C语言中的位域结构也要遵循端模式。
例如:
struct edtest
{
uchar a : 2;
uchar b : 6;
}
该位域结构占1个字节,假设赋值 a = 0x01; b=0x02;
大端机器上该字节为: (01)(000010)
小端机器上: (000010)(01)
因此在编写可移植代码时,需要加条件编译。

推荐一篇好文章收藏:

http://www.linuxjournal.com/article/6788

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录