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)

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

相关文章

  • 利用stream实现一个简单的http下载器

    利用stream实现一个简单的http下载器

    这篇文章主要介绍了利用stream实现一个简单的http下载器的相关资料,需要的朋友可以参考下
    2015-03-03
  • C++实现大数乘法算法代码

    C++实现大数乘法算法代码

    这篇文章主要介绍了C++实现大数乘法算法代码的相关资料,需要的朋友可以参考下
    2015-03-03
  • c++中struct和class的区别小结

    c++中struct和class的区别小结

    在C++中,class和struct都是用于定义自定义数据类型的关键字,本文主要介绍了c++中struct和class的区别小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • C语言程序如何求学生总成绩和平均成绩

    C语言程序如何求学生总成绩和平均成绩

    这篇文章主要介绍了C语言程序如何求学生总成绩和平均成绩,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • C++ 前置声明详解及实例

    C++ 前置声明详解及实例

    这篇文章主要介绍了C++ 前置声明详解及实例的相关资料,需要的朋友可以参考下
    2017-06-06
  • C++超详细分析优化排序算法之堆排序

    C++超详细分析优化排序算法之堆排序

    堆是计算机科学中一类特殊的数据结构的统称,通常是一个可以被看做一棵完全二叉树的数组对象。而堆排序是利用堆这种数据结构所设计的一种排序算法。本文将通过图片详细介绍堆排序,需要的可以参考一下
    2023-02-02
  • C++空间命名的使用

    C++空间命名的使用

    本文主要介绍了C++空间命名的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • C语言 深入浅出讲解指针的使用

    C语言 深入浅出讲解指针的使用

    指针是C语言中一个非常重要的概念,也是C语言的特色之一。使用指针可以对复杂数据进行处理,能对计算机的内存分配进行控制,在函数调用中使用指针还可以返回多个值
    2022-03-03
  • Visual Studio新建类从默认internal改为public

    Visual Studio新建类从默认internal改为public

    本文将介绍如何将Visual Studio中的internal修饰符更改为public,以实现更广泛的访问和重用,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • C语言:利用指针编写程序,用梯形法计算给定的定积分实例

    C语言:利用指针编写程序,用梯形法计算给定的定积分实例

    今天小编就为大家分享一篇C语言:利用指针编写程序,用梯形法计算给定的定积分实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论