이 코드는 무슨 의미인가요?
글쓴이: iadoy / 작성시간: 화, 2013/04/16 - 5:12오후
VC++에서 사용하는 겁니다.
WORD 는 unsigned short 을 define한 거구요.
struct WORDBITMAP { WORD Bit00 : 1; <--- 무슨 의미인지???? :(콜론)에 1???? WORD Bit01 : 1; WORD Bit02 : 1; WORD Bit03 : 1; WORD Bit04 : 1; WORD Bit05 : 1; WORD Bit06 : 1; WORD Bit07 : 1; WORD Bit08 : 1; WORD Bit09 : 1; WORD Bit10 : 1; WORD Bit11 : 1; WORD Bit12 : 1; WORD Bit13 : 1; WORD Bit14 : 1; WORD Bit15 : 1; }; WORDBITMAP wb; // shortint는 short로 선언된 변수입니다. memcpy(&wb, &shortint, sizeof(WORD)); char c[16] = {0,}; c[0] = wb.Bit00+'0'; <--- '0'을 더하는 이유가 뭐죠??? c[1] = wb.Bit01+'0'; c[2] = wb.Bit02+'0'; c[3] = wb.Bit03+'0'; c[4] = wb.Bit04+'0'; c[5] = wb.Bit05+'0'; c[6] = wb.Bit06+'0'; c[7] = wb.Bit07+'0'; c[8] = wb.Bit08+'0'; c[9] = wb.Bit09+'0'; c[10] = wb.Bit10+'0'; c[11] = wb.Bit11+'0'; c[12] = wb.Bit12+'0'; c[13] = wb.Bit13+'0'; c[14] = wb.Bit14+'0'; c[15] = wb.Bit15+'0';
Forums:
곧 즐거운 퇴근시간이군요. ^^
WORD Bit00 : 1; <--- 무슨 의미인지???? :(콜론)에 1????
> 비트 1개를 의미합니다.
c[0] = wb.Bit00+'0'; <--- '0'을 더하는 이유가 뭐죠???
> c[0] 에 '0' 문자를 넣고 싶은겁니다.
고로 2 byte WORD를 16 바이트 문자열로 바꾸거 싶은겁니다.
예를 들어 wb 가 0x0001 이라면
char c[17] = {0,};로 하고 출력해 보면 아마도 "0000000000000001" 이런 문자열이 들어있겠죠?
발 담갔다. 이제 익숙해 지는길만이..
WORD = unsigned short = 2byte
WORD = unsigned short = 2byte = 16bit
16bit 중에 1bit만 사용한다는 말이군요.
답변 감사합니다.
댓글 달기