当前位置:  编程技术>c/c++/嵌入式

c语言中位字段与结构联合的组合使用详解

    来源: 互联网  发布时间:2014-10-14

    本文导语:  举例:=================================================== 代码如下:/** INITRM - Initialization of internal ram position register; 0x0000 0010 **/ typedef union {    byte Byte;    struct {       byte RAMHAL :1;       byte :1;       byte :1;       byte RAM11 :1;    ...

举例:
===================================================

代码如下:

/** INITRM - Initialization of internal ram position register; 0x0000 0010 **/

typedef union {

   byte Byte;

   struct {

      byte RAMHAL :1;

      byte :1;

      byte :1;

      byte RAM11 :1;

      byte RAM12 :1;

      byte RAM13 :1;

      byte RAM14 :1;

      byte RAM15 :1;

   } Bits;

   struct {

      byte :1;

      byte :1;

      byte :1;

      byte grpRAM_11 :5;

   }MergedBits;

} INITRMSTR;


那么赋值方式就有三种,比如直接给INITRMSTR赋值

INITRMSTR = 0xEF;

也可以位字段赋值

INITRMSTR.Bits.RAM15 = 1;

也可以多位的位字段赋值

INITRMSTR.MergedBits.grpRAM_11 = 26

(26是十进制,转换成二进制是11010, 直接表示 RAM_11 = 0, RAM_12 = 1, RAM_13 = 0, RAM_14 = 1, RAM_15 = 1)

需要注意的是,在二进制中顺序是从右向左,在这个结构体中是从上向下.


    
 
 

您可能感兴趣的文章:

  • 解析C语言中位字段内存分配的问题
  • sql语言中delete删除命令语句详解
  • 汇编语言rep movsd 的使用详解
  • 基于C语言fflush()函数的使用详解
  • C语言中堆空间的生成与释放详解
  • 深入c语言continue和break的区别详解
  • C语言中#define与typedef的互换细节详解
  • 基于C语言中段错误的问题详解
  • C语言循环队列的表示与实现实例详解
  • 关于c语言的一个小bug详解
  • C语言单链队列的表示与实现实例详解
  • Android笔记之:深入为从右向左语言定义复杂字串的详解
  • C语言中判断int,long型等变量是否赋值的方法详解
  • 关于C语言指针赋值的问题详解
  • C语言高斯消元法的使用详解
  • C语言栈的表示与实现实例详解
  • 深入C语言内存区域分配(进程的各个段)详解
  • c语言中 基于随机函数的使用详解
  • 深入分析C语言中结构体指针的定义与引用详解
  • C语言位图算法详解
  • c语言stack(栈)和heap(堆)的使用详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 纯C语言:递归组合数源码分享
  • C语言实现的排列组合问题的通用算法、解决方法
  • 2013年7月和2013年8月编程语言排行榜
  • 如何在GTK2.0下实现国际化(语言选择根据自己设置的语言,不用系统的语言)
  • 2017 年热门编程语言排行榜出炉,你的语言上榜没?
  • C语言中有指针,因此C语言可以创建链表,那么Java语言没有指针,那Java是否可以创建链表呢?
  • java开发知识 iis7站长之家
  • 求助,在linux下,c语言和汇编语言的接口是什么?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • C语言中间语言 CIL
  • PHP编程语言介绍及安装测试方法
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • 动态编程语言 LIME编程语言
  • c语言实现MD5算法完整代码示例
  • C语言如何改变当前语言环境
  • 以NetBeans IDE为例介绍如何使用XML中Schema语言
  • 如何在VIM中使汇编语言和C语言自动缩进?
  • c语言基于libpcap实现一个抓包程序过程
  • 我安装的linux时默认语言选择的是中文,又乱码,怎么可以解决?怎么更改默认语言成英文?
  • HTML超文本标记语言教程及实例
  • Redhat9安装时语言只选择了中文,现在还能再增加其它语言的支持吗?如英文
  • MD5算法的C语言实现
  • 请问哪里有ubuntu 9.0版本的中文语言包和KDE的中文语言包下载,我用Google搜索了很多地方都没有!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3