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

 更新时间:2013年05月14日 17:24:28   作者:  
本篇文章是对c语言中位字段与结构联合的组合使用进行了详细的分析介绍,需要的朋友参考下

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

复制代码 代码如下:

/** 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语言实现简单飞机大战

    C语言实现简单飞机大战

    这篇文章主要为大家详细介绍了C语言实现简单飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • C++ 中重载和运算符重载加号实现矩阵相加实例代码

    C++ 中重载和运算符重载加号实现矩阵相加实例代码

    这篇文章主要介绍了C++ 中重载和运算符重载加号实现矩阵相加实例代码的相关资料,需要的朋友可以参考下
    2017-03-03
  • sublime text3搭建配置c语言编译环境的详细图解教程(小白级)

    sublime text3搭建配置c语言编译环境的详细图解教程(小白级)

    这篇文章主要介绍了sublime text3搭建配置c语言编译环境,详细图解,小白教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • 函数指针的一些概念详解

    函数指针的一些概念详解

    首先看函数指针的语法,举一个最简单的例子,要创建一个函数指针,则它与它指向的函数,在参数个数类型以及返回值上都保持一致,跟重载的要求应该是一样的
    2013-09-09
  • C++实现洗牌发牌排序功能的示例代码

    C++实现洗牌发牌排序功能的示例代码

    本篇文章主要介绍了C++实现洗牌发牌排序功能的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • C语言之system函数案例详解

    C语言之system函数案例详解

    这篇文章主要介绍了C语言之system函数案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • QT5交叉编译入门级教程(arm64、mips64)

    QT5交叉编译入门级教程(arm64、mips64)

    交叉编译就是在当前系统平台上,开发编译运行于其它平台的程序,比如本文硬件环境是x86平台,但是编译出来的程序是在arm64架构、mips64等架构上运行,本文给大家分享QT5交叉编译入门级教程(arm64、mips64),感兴趣的朋友一起看看吧
    2023-11-11
  • C++设计模式之命令模式

    C++设计模式之命令模式

    这篇文章主要介绍了C++设计模式之命令模式,本文讲解了什么是命令模式、命令模式的使用场合等内容,并给出了一个代码实例,需要的朋友可以参考下
    2014-10-10
  • C++归并排序算法实例

    C++归并排序算法实例

    这篇文章主要介绍了C++归并排序算法实例,本文先是介绍了什么是归并排序,然后给出了实现代码,需要的朋友可以参考下
    2014-10-10
  • VC++ 获取系统时间的方法汇总

    VC++ 获取系统时间的方法汇总

    本文给大家汇总介绍了5种VC++中获取系统时间的方法,十分的简单实用,有需要的小伙伴可以参考下。
    2015-07-07

最新评论