c语言中位字段与结构联合的组合使用详解
语言 使用 详解 结构 联合 组合 中位
2023-06-13 09:14:53 时间
举例:
===================================================
/**INITRM-Initializationofinternalrampositionregister;0x00000010**/
typedefunion{
byteByte;
struct{
byteRAMHAL:1;
byte:1;
byte:1;
byteRAM11:1;
byteRAM12:1;
byteRAM13:1;
byteRAM14:1;
byteRAM15:1;
}Bits;
struct{
byte:1;
byte:1;
byte:1;
bytegrpRAM_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语言程序,单片机控制步进电机1步10步100步正反转…
- 使用R语言ggplot2包绘制SCI论文配图密度散点图
- c语言必背100代码,初学者代码大全(c语言必背100代码)[通俗易懂]
- java源程序文件的扩展名_使用Java语言编写的源程序保存时的文件扩展名是什么…
- 【R语言】rep函数的使用
- 用html语言编写一个简单的网页_html做网页
- R语言聚类分析(1)
- Go 语言开源项目使用的函数选项模式
- R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素|附代码数据
- 为什么 Go 语言 struct 要使用 tags
- R语言Kmeans聚类、PAM、DBSCAN、AGNES、FDP、PSO粒子群聚类分析iris数据结果可视化比较
- Go语言go mod包依赖管理工具使用详解
- 使用C语言编程实现MySQL数据库连接(c语言连接mysql数据库)
- Linux C语言编译器:快速构建开发环境的最佳选择(linuxc语言编译器)
- Go语言加密通信
- GO语言学习总结(package,function)
- 学习MySQL中文语言学习之路(mysql中文语言)
- Linux平台上C语言接口调用Java语言实现(linux c调java)
- Linux下使用C语言编译程序(linux系统c语言编译)
- Go语言操作Oracle数据库技术实践(go操作oracle)