找回密码
 注册
关于网站域名变更的通知
查看: 95|回复: 2
打印 上一主题 下一主题

结构体位域操作

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-8 09:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
结构体的位域操作,功能是什么???# V% L9 ]1 }! Q

1 l, Y2 X9 J8 _4 {/ f就是为了方便进行位操作,跟51一样每次单独操作1位。具体怎么实现的自己搜索,我也没看太明白,给你举个例子。8 V* |8 _+ R) y2 n1 p6 |6 c5 G; y* j
union  union8_def{: R& ?" n8 `% u' n: C
    struct{
9 ^* F. J, l, c  V3 p3 ~1 ]) X        unsigned    b0:1;
* N' h4 Y/ c; |; ~: H) x7 q$ d5 p        unsigned    b1:1;6 B) k4 r; {7 R1 Z5 K8 J
        unsigned    b2:1;
/ H. o9 c" g$ r- B0 j% v        unsigned    b3:1;
% g( l) t$ U9 M        unsigned    b4:1;' R$ y; O+ V# j% S% w5 i4 p! n* P
        unsigned    b5:1;4 z" t, w7 C. V/ H2 j2 |
        unsigned    b6:1;5 l1 A& y  m5 d$ k
        unsigned    b7:1;
' t2 ]6 S* ?' A3 @    }bits;
) n5 T# q; X/ T# ^/ ~    0 k& e8 \' v% q2 S9 U# m
    u8         word8;" S2 a' W' _- V$ Z
};/ l2 C  m8 @# N# R
typedef union  union8_def                union8;3 S8 C3 z3 I$ D* `  D! P

% B3 Z. w5 X5 B; z" ^( b1 {
1 c  p# G  D4 H/ _2 x, M! Z  munion8  KKKK;
: ^. ~) M* D$ g6 D& a3 Q8 e2 D然后你就可以用KKKK.bits.b0 KKKK.bits.b1来进行位操作了
5 h; N* o' n+ [) m" R想看整个数据就用KKKK.word8来查看8个bit组成的整个数字了0 s: z& e, q/ F$ \
KKKK.bits.b0=1;* `% }) q) F8 [) A+ N7 N# d
KKKK.bits.b1=0;7 z2 N$ |$ `0 |5 w+ F9 g
KKKK.bits.b2=1;
' g! c/ C) K0 T/ P# UKKKK.bits.b3=0;9 }4 N+ a9 q# s( J- b$ g" A0 s3 a
KKKK.bits.b4=1;
9 y5 o! I* P" xKKKK.bits.b5=0;9 p8 q" |7 T8 d/ a- I: J
KKKK.bits.b6=1;) }+ n' H. b" S9 l
KKKK.bits.b7=0;2 P/ d' a! q5 a$ [

4 H2 v1 i0 o. _然后0 Q  ~% H2 G" C# X$ `* B
KKKK.word8=0x55。
8 q" F4 K3 T5 t1 M同样方法可以构造16位和32位的  _" Q# G( [* b+ o1 p
) B) |, @. i' N1 y" g, i

该用户从未签到

2#
发表于 2022-6-8 10:05 | 只看该作者
嗯嗯,学习学习。嘻嘻
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-8 11:08 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表