Category Archives: C/C++

[C/C++] 구조체 bit 단위 선언에서 MSB, LSB

통신에서 구조체를 사용해 상호간의 data를 넘기는 경우가 많다.
이 경우 bit 단위로 구성된 부분을 아래와 같이 정의 할 경우가 있는데,  이와 같이 bit 단위 설정을 할 때는 아래쪽에 위치한 변수가 MSB 쪽임을 기억하자

struct _stTest
{
    unsigned char opcode;
    unsigned char Re_Ac:2; // Receive , Ack 가 LSB
    unsigned char source:3;
    unsigned char dest:3; // destination 3 bit가 MSB
};

———————–
| opcode (1byte) |
———————–
—————————————————–
| dest(3bit) | source(3bit) | Re_Ac(2bit) |
—————————————————–
 
요렇게 ㅎㅎ