코딩/C, C++

[C, C++] 비트필드(Bitfield)

버딩 2016. 3. 8. 10:18
반응형

bit단위의 data를 다룰 때 해당 bit영역을 최대한 활용하기 위해 bit field라는 것을 사용한다.


선언 형식


struct bitfield{
    unsigned char a : 1;
    unsigned char b : 1;
    unsigned char c : 1;
    unsigned char d : 1;
    unsigned char e : 1;
    unsigned char f : 1;
    unsigned char g : 1;
    unsigned char h : 1;
};


unsigned char형(8bit)의 a부터 h까지 bit field를 구조체 형식으로 선언

따라서 부호를 정하는 최상위 bit까지 총 8bit를 모두 사용하기 위해서 사용한다.

1bit가 아닌 bit를 할당하고자 할 경우 1대신 다른 숫자로 바꾸면 된다.

8비트 이상을 할당한다면 다른 영역을 확보해 bit를 담는다. 그리고 특정 bit를 비워둬야 하는 경우에도 쓰인다.

반응형