亲宝软件园·资讯

展开

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

人气:0
想了解c语言中位字段与结构联合的组合使用详解的相关内容吗,在本文为您仔细讲解位字段与结构联合的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:位字段,结构联合,下面大家一起来学习吧。

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

复制代码 代码如下:

/** 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)

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

加载全部内容

相关教程
猜你喜欢
用户评论