数据类型 - 结构中的
"位字段"
所有基础的数据类型, 最大的也不过 10 个字节;
我们可以自定义的数据类型 —— "结构", 通过把若干类型组合在一起, 让一种类型可以大很多。
我们知道, 一个字节有八个 Bit 组成; 能否把一种类型缩小、缩小到 Bit 级?
结构中的 "位字段" 是以 Bit 为单位的, 这已经是计算机的最小单位, 大小是 char 类型的
1/8.
下面的例子中定义的位字段, 分别有 1-4 Bit 大小; 1 Bit 的字段只能放两个数(0、1), 4 Bit 的字段也只能放下
16 个数:
1.
结构体可以包含位字段: #include
int main(void)
{
struct Bit {
unsigned a: 1;
unsigned b: 2;
unsigned c: 3;
unsigned d: 4;
} B;
B.a = 1;
B.b = 3;
B.c = 7;
B.d = 15;
printf("%d, %d, %d, %dn", B.a, B.b, B.c, B.d);
getchar();
return 0;
}
上例中, 位域的类型被指定为是无符号的整型(unsigned int), 我试着只要是整型都可以