标题:
关于C语言结构体位域操作
[打印本页]
作者:
sr861126
时间:
2022-6-7 09:22
标题:
关于C语言结构体位域操作
结构体的位域操作,功能是什么
作者:
ringhui
时间:
2022-6-7 18:03
就是为了方便进行位操作,跟51一样每次单独操作1位。具体怎么实现的自己搜索,我也没看太明白,给你举个例子。
union union8_def{
struct{
unsigned b0:1;
unsigned b1:1;
unsigned b2:1;
unsigned b3:1;
unsigned b4:1;
unsigned b5:1;
unsigned b6:1;
unsigned b7:1;
}bits;
u8 word8;
};
typedef union union8_def union8;
union8 KKKK;
然后你就可以用KKKK.bits.b0 KKKK.bits.b1来进行位操作了
想看整个数据就用KKKK.word8来查看8个bit组成的整个数字了
KKKK.bits.b0=1;
KKKK.bits.b1=0;
KKKK.bits.b2=1;
KKKK.bits.b3=0;
KKKK.bits.b4=1;
KKKK.bits.b5=0;
KKKK.bits.b6=1;
KKKK.bits.b7=0;
然后
KKKK.word8=0x55。
同样方法可以构造16位和32位的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1