산적 님이 쓰신 글 :
: 질문내용은...
:
: int형 값이 100이라고 하면은...
:
: 100이란 값을 char 형으로 형변환해서 넣어야 되는데엽...
:
: 100이 형변화하면 char형 3자리를 차지 하잖아요....
:
: 그런데... 문제는 2자리 밖에 없다는 거에요....
:
: 거기다 이 3자리 값을 담을 려고 하는데.....
:
: 그 방법을 질문 드리는 겁니다.
:
: 왜냐하면 2자리는 전문(구조체)형태로 고정되어 있기 땜에.... 질문을 드립니다.
:
: - 산적 -
:
char 2자리는 8 * 2 = 16 비트이므로
short int와 동일한 크기입니다.
그러므로 0 ~ 65535 까지 표현할 수 있습니다.
다음 소스를 참고하세요.
int main(int argc, char* argv[])
{
union myunion {
unsigned short i;
unsigned char c[2];
} mu;
mu.i = 1000;
printf("%u = %u * 256 + %u\n", mu.i, mu.c[1], mu.c[0]); // 순서에 주의! (PC는 little-endian machine)
return 0;
}
결과는 다음과 같이 나옵니다.
1000 = 3 * 256 + 232
|