뭐가 잘못된건지좀 봐주세요.
MinA
2023.04.01
질문 제목 : 비트연산쪽에서 왜 이런지 잘 이해가 안가는것이있습니다.문제가 요구하는대로소스를 만들긴 했는데 제대로 한건지 잘모르겠네요. 분석좀부탁드릴게요.질문 내용 :
문제에서 비트 필드 구조체에 12비트 크기의 비트 필드 e와 6비트 크기의 f를 만들고 3과 4를 대입하여 보라는 문제인데요. 결과값이 c0040c01 이런식으로 나오는데 왜 이런식으로 나오는거죠? 혹시 제가 잘못 작성한 부분이 있다면 수정좀 부탁드립니다.
#include stdio.h
struct test{
unsigned a:1;
unsigned b:2;
unsigned c:3;
unsigned d:4;
unsigned e:6;
unsigned f:12;
};
int main(void)
{
struct test bf;
bf.a = 1;
bf.b = 0;
bf.c = 0;
bf.d = 0;
bf.e = 3;
bf.f = 4;
printf(bf = %x\n, bf);
}