Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12959
  • 博文数量: 6
  • 博客积分: 40
  • 博客等级: 民兵
  • 技术积分: 55
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-19 00:16
文章分类

全部博文(6)

文章存档

2011年(5)

2009年(1)

我的朋友
最近访客

分类:

2011-04-11 17:30:24

         大端模式(Big_endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。也就是高低高低对应关系,即data的低相位对应memory的高址。
         小端模式(Little_endian):字数据的字节存储在高地址中,而字数据的低字节则存放在低地址中。也就是高高低低。
         因为 Union 的特性是同一时刻只有一个成员有效,且所有的成员有一个相同的开始地址。存取都是相对于这个联合体起始地址的偏移量为0的地方开始,就是联合体的访问不论对哪个变量的存取都是从 union 的首地址位置开始,所以测试如下:
#include

int endian(void)
{
union uni
{
int i;
char c;
}test;

test.i = 1;

return (test.c == 1);
}
int main(int argc, char *argv[])
{
if (endian())
{
printf("Little endian.\n");
}
else
{
printf("Little endian.\n");
}

return 0;
}
阅读(598) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~