加载中…
个人资料
小虫不会飞_
小虫不会飞_
  • 博客等级:
  • 博客积分:0
  • 博客访问:186,909
  • 关注人气:79
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
谁看过这篇博文
加载中…
正文 字体大小:

位域结构体的大小端

(2014-08-29 14:28:40)
标签:

大小端

结构体

位域

分类: 面试笔试

看到最清晰易懂的一篇关于大小端和结构体位域的文章

1)       在小端核中定义结构体如下

struct

{

        A:4;

         B:16;

         C:12

}

 

那么在小端寄存器中存放格式为:

MSB                                                                                                                                                         LSB

C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 A3 A2 A1 A0

 

由于在小端核寄存器的低字节放在内存低地址

在内存中存放格式为

0xXXXX0020: B3 B2 B1 B0 A3 A2 A1 A0

0xXXXX0021: B11 B10 B9 B8 B7 B6 B5 B4

0x XXXX0022: C3 C2 C1 C0 B15 B14 B13 B12

0x XXXX0023: C11 C10 C9 C8 C7 C6 C5 C4

 

 

2)       在大端核中定义结构体同上:

struct

{

        A:4;

         B:16;

         C:12

}

 

大端核寄存器中存放格式为

MSB                                                                                                                                                               LSB

A3 A2 A1 A0 B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0

 

由于在大端核寄存器的低字节放在高地址单元;

0xXXXX0020: A3 A2 A1 A0 B15 B14 B13

0xXXXX0021: B11 B10 B9 B8 B7 B6 B5 B4

0x XXXX0022: B3 B2 B1 B0 C11 C10 C9 C8

0x XXXX0023: C7 C6 C5 C4 C3 C2 C1 C0

C11 C10 C9 C8 C7 C6 C5 C4  B15 B14 B13 B12 C3 C2 C1 C0  B11 B10 B9 B8 B7 B6 B5 B4  A3 A2 A1 A0 B3 B2 B1 B0


转自:http://blog.chinaunix.net/uid-26977536-id-3212518.html


其他文章可以参考:http://blog.chinaunix.net/uid-20737871-id-3059892.html

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有