c 语言结构中的位字段

c 语言结构中的位字段

我们可以自定义数据类型----"结构体",如果结构体中的变量不需要占用很大的空间的话,我们可以使用bit, 1个bit只有两个值,1或者0. 4个bit的字段也只能放下0-16之间的数.

代码如下:
#include <stdio.h>

struct Bit {
    unsigned int a: 1; // 0 - 1
    unsigned int b: 2; // 0 - 3
    unsigned int c: 3; // 0 - 7
    unsigned int d: 4; // 0 - 15
} B;

int main(int argc, char *argv[])
{
    struct Bit b = { 1, 3, 5, 7 };
    printf("b.a = %d, b.b = %d, b.c = %d, b.d = %d.\n", b.a, b.b, b.c, b.d);
    return 0;
}

运行结果如下:


b.a = 1, b.b = 3, b.c = 5, b.d = 7


[环境: mac os x 10.8  g++ 4.2.1]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章