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]

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