问题:

struct mybitfields  
{  
unsigned short a : 4;  
unsigned short b : 5;  
unsigned short c : 7;  
}test  
void main(void)  
{  
int i;  
test.a=2;  
test.b=3;  
test.c=0;  
i=*((short *)&test);  
printf("%d/n",i);  

 
运行结果是50. 求教高手,怎么得到的?i=*((short *)&test)是什么意思?
解答:

存储test占了两个byte,第一个byte存储的是00110010,第二个byte存储的是00000000,short占两个byte,按照Little-Endian  ( 一个Word中的低位的Byte放在内存中这个Word区域的低地址处)那么这个short就是0000000000110010,换成十进制就是50了。

另外:转一个连接关于结构体大小计算的问题

http://www.dzsc.com/data/html/2009-6-4/76676.html

结构体大小及其位域问题(from:byr)相关推荐

  1. 结构体大小计算与位域大小计算

    结构体大小计算与位域大小计算 本博文纯属个人理解,有错误请多指正. 首先,各个变量所占的字节: 类型 字节(64位) 字节(32位) char 1 1 unsigned char 1 1 short ...

  2. C/C++ sizeof函数解析——解决sizeof求结构体大小的问题

    C/C++ sizeof函数解析--解决sizeof求结构体大小的问题 参考文章: (1)C/C++ sizeof函数解析--解决sizeof求结构体大小的问题 (2)https://www.cnbl ...

  3. 【转】彻底搞清计算结构体大小和数据对齐原则

    数据对齐: 许多计算机系统对基本数据类型合法地址做出了一些限制,要求某种类型对象的地址必须是 某个值K(通常是2,4或8)的倍数.这种对齐限制简化了形成处理器和存储器系统之间的接口的硬件 设计.例如, ...

  4. C和指针之结构体大小和成员变量位置距离结构开始存储的位置偏移字节

    1.问题 1).结构体大小 结构体成员的内存分配满足下面三个条件   2 结构体第一个成员的地址和结构体的首地址相同   3 结构体每个成员地址相对于结构体首地址的偏移量是该成员大小的整数倍,如果不是 ...

  5. 【C语言进阶深度学习记录】二十 结构体大小计算与结构体内存布局的详细方法

    结构体大小的计算往往是面试笔试常考的知识.对于简单的结构体,可以一眼看出来,对于复杂的结构体,该如何计算结构体占用内存的大小呢? 本文学习所使用的编译器是gcc 4.4.5 使用其他编译器或者使用Wi ...

  6. Windows下struct和union字节对齐设置以及大小的确定(一 简介和结构体大小的确定)...

    在windows下设置字节对齐大小的方式,目前我了解有三种: 1. 在编译程序时候的编译选项  /Zp[n],如 cl /Zp4 表示对齐大小是4字节: 2. 预处理命令   #pragma pack ...

  7. C语言结构体详解(结构体定义,使用,结构体大小等)

    c语言结构体详解 1.c语言结构体 1.1 结构体基础知识 1.2 结构体声明 1.3 结构体特殊声明 1.4 结构体的自引用 1.5 结构体的大小的计算 1.5.1了解结构体大小计算规则 1.5.2 ...

  8. std::tuple、std::tie(可用于结构体大小比较)、std::pair用法

    1.tuple应用: 解释:是一个元组,可包含无限多不同类型变量,pair的升级版,但没有pair得成员变量first.second. 1.1.代码: // tuple example #includ ...

  9. 结构体大小的计算方法

    结构体大小的计算需同时满足以下几点 一.结构体成员的偏移量必须是当前成员大小的整数倍.(0是任何数的整数倍) 举一个例子 struct Test1{char a; // 当前偏移量为0,是char所占 ...

最新文章

  1. 《数据竞赛白皮书·下篇》发布,开源办好一场数据竞赛的实践方法论
  2. valgrind 常见错误提示信息
  3. LeetCode 77. 组合(回溯)
  4. 【LeetCode】241. Different Ways to Add Parentheses
  5. scipy.signal.find_peaks(峰值检测)
  6. PHP技术的优缺点(转载)
  7. 用心去体验幸福的感觉
  8. Dijkstra(堆优)模板
  9. 英语语态,语态 被动:be的时态变化,一般过去时:一般现在时:一般将来时:主将从现:主祈从现:并列将来:现在完成时:
  10. Spring 之 @Transaction 详解
  11. 软件工程笔记:SQA组织与职责
  12. 国内根据IP地址查询具体位置
  13. 如何成为更高级别的iOS开发工程师?
  14. 通过网页链接直接下载APK
  15. 如何“谨慎”使用“数据驱动”的风控模型(三)——监控篇
  16. MyEclipse 目录结构简化
  17. Matlab里关于T2F/F2T/lpf.m函数调用应注意的问题及函数修改
  18. 网络正常连接,浏览器无法访问网络
  19. iOS App 签名的原理(转)
  20. ajaxPro.dll基础教程

热门文章

  1. C语言 单链表的增删改查
  2. MindManager 2018有趣的HTML5互动演示
  3. 自动控制原理(机电)_简要复习_笔记
  4. 本周AI热点回顾:GPT-3论坛跟帖灌水一周无人发现; 潘建伟院士高徒陆朝阳获美国物理学会量子计算奖
  5. 【GIS风暴】一文彻底弄懂数字地形(DEM、DOM、TDOM、DSM)的区别与联系
  6. Imail的安装和配置
  7. 天龙八部怎么找不到服务器,win7系统天龙八部无法打开服务器列表的解决方法...
  8. com.sec.android.app.s health,三星健康(com.sec.android.app.shealth) - 6.9.1.017 - 应用 - 酷安
  9. 那些年啊,那些事——一个程序员的奋斗史 ——49
  10. 育种值 表型值 回归系数 相关系数 遗传力之间的关系