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]