C语言位操作
发布时间
阅读量:
阅读量
在某些情况下,存储单个信息并不需要消耗一个完整的字节,仅需使用二进制中的一个或多个位即可满足需求。若继续采用结构类型进行定义,则会导致内存资源的冗余占用。
为解决这一问题,C语言特别引入了位段类型。
位段的基本概念与定义
所谓位段类型,是一种具有特殊性质的结构类型,其所有成员均以二进制位作为单位来设定长度,并将这些成员称为位段。
例如,CPU的状态寄存器可以通过位段类型进行如下定义:
struct status
{
unsigned sign:1;/*符号标志*/
unsigned zero:1;/*零标志*/
unsigned carry:1;/*进位标志*/
unsigned parity:1/*奇偶溢出标志*/
unsigned half_carry:1;/*半进位标志*/
unsigned negative:1; /* 减标志*/
} flags;
AI写代码cpp
struct data{
unsigned char f1:1;
unsigned char f2:2;
全部评论 (0)
还没有任何评论哟~
