永发信息网

C语言里如何定义任意bit长度的类型来着

答案:2  悬赏:50  手机版
解决时间 2021-03-27 16:43
C语言里如何定义任意bit长度的类型来着
最佳答案
下面就是一个例子,定义了一个结构体变量ch,包含多个位域。
struct{
unsigned con: 8;
unsigned forecolor: 4;
unsigned bgcolor: 3;
unsigned blink: 1;
}ch;
全部回答
c语言中bit类型是“位”数据类型,一般在嵌入式软件中应用较多,用于io口的控制,可以是单独申明位变量,也可以申请位结构数据类型,比如: struct st_flash {                                                            union {                                                              unsigned char byte;                                   struct {                                                                unsigned char fwe :1;                                    unsigned char swe1:1;                                    unsigned char esu1:1;                                    unsigned char psu1:1;                                    unsigned char ev1 :1;                                    unsigned char pv1 :1;                                    unsigned char e1  :1;                                     unsigned char p1  :1;                                     }      bit;                         }         flmcr1;                   union {                                                        unsigned char byte;                                      struct {                                                                   unsigned char fler:1;                                    unsigned char swe2:1;                                    unsigned char esu2:1;                                    unsigned char psu2:1;                                    unsigned char ev2 :1;                                    unsigned char pv2 :1;                                    unsigned char e2  :1;                                    unsigned char p2  :1;                                    }      bit;                        }         flmcr2;                   union {                                                        unsigned char byte;                                      struct {                                                        unsigned char eb7:1;                                     unsigned char eb6:1;                                     unsigned char eb5:1;                                     unsigned char eb4:1;                                     unsigned char eb3:1;                                     unsigned char eb2:1;                                     unsigned char eb1:1;                                     unsigned char eb0:1;                                     }      bit;                        }         ebr1;                 union {                                                        unsigned char byte;                                      struct {                                                        unsigned char eb15:1;                                    unsigned char eb14:1;                                    unsigned char eb13:1;                                    unsigned char eb12:1;                                    unsigned char eb11:1;                                    unsigned char eb10:1;                                    unsigned char eb9 :1;                                    unsigned char eb8 :1;                                    }      bit;                          }         ebr2;  };
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么叫第三方交易平台
求有华 晨 宇 三个字的对联 华为横批 晨为上
天天晚上流汗有么后果
红警电脑维修连锁地址在哪,我要去那里办事,
delphi dcu如何生成bpl
姑娘,不要认为你长的美,所有男人都围着你转
一个人变得没有棱角,到底是成长了,还是变得
瑞安南山有一个名叫锦昌阁的地方吗
基带传输是指什么,宽带传输是什么传输
单选题人照镜子时走向平面镜,他在平面镜成的
什么情况下二叉树的中序和后序序列相同
鱼类中谁最厉害?
如何成为一名新房家居收纳高手
57平方米总价62万办房产证多少钱急求
关于4欧功放接8欧喇叭问题紧急求助
推荐资讯
我有一套市面上停用的港币,有收藏价值吗
有带每天都是新的开始早安问候语吗
收到乙投资者作为资本投入的汽车一辆,双方确
长沙地铁2号线哪个站离融城花园酒店最近
三星e110s主板小电池干什么用的
成语填空:与世长
绝地求生丛林宝箱怎么没法领
英雄造时势的下一句
我关注百姓传奇为什么关注不了
如何才能进行网上烧香拜佛
240G固态硬盘怎么分区使用比较合理
联想 To be filled by O.E.M. ( 英特尔 4 Ser
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?