C语言除了6种位运算之外,还提供了位域的概念。
所谓“位域”就是指把一个字节中的二进制位划分为几个不同的区域,并说明每个区域的大小,这样下来,对位域进行操作的时候就可以直接通过位域名进行。
具体如下:
struct weiyu
{
int a:8;
int b:0;
int c:4;
int :4;
}
解释:定义一个结构体 weiyu,其中包含4个位域,a中含有8 bits,b为空域,c为4 bits 还有一个没有名字的,只起到调整位置的作用,不能够被使用。
举例:
#include<stdio.h> void main() { struct weiyu { int a:8; int b:2; int c:6; }weiyu1; weiyu1.a=7; weiyu1.b=1; weiyu1.c=15;
printf("%d %d %d\n",weiyu1.a,weiyu1.b,weiyu1.c); }