Chinaunix首页 | 论坛 | 博客
  • 博客访问: 27725
  • 博文数量: 9
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 10:50
文章分类
文章存档

2011年(1)

2008年(8)

我的朋友
最近访客

分类:

2008-07-14 12:39:41

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

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)
因此在编写可移植代码时,需要加条件编译。

收藏一篇好文章,里面有详细的讲解:

 

阅读(1267) | 评论(0) | 转发(0) |
0

上一篇:fedora使用问题

下一篇:linux任务调度学习

给主人留下些什么吧!~~