Win32 SDK 초보
C에서 16진수를 10진수로 10진수를 16진수로 바꾸기 (MFC)
띠리
2007. 9. 7. 17:55
설명은 따로 필요없을 것같다.
그냥 밑에 소스를 보면....
실행한 결과
strtol 함수를 알면 16진수를 10진수로 바꾸는 것을 한줄에 끝낼 수 있는데
저 함수를 모르면...
sprintf의 포멧에서 %X를 쓰느냐 %x를 쓰느냐에
따라서 16진수의 영문자(A~F)가 대문자로 표시되느냐
소문자로 표시되느냐가 결정되어진다.
그냥 밑에 소스를 보면....
void main()
{
int nDec = 0;
char szHex[16];
// 16진수를 10진수로
sprintf(szHex, "FF");
nDec = (int)strtol(szHex, NULL, 16);
printf(" %s -> %d \n", szHex, nDec);
nDec = nDec - 0xF;
// 10진수를 16진수로
sprintf(szHex, "%X", nDec);
printf("%d -> %s \n", nDec, szHex);
}
실행한 결과
FF -> 255
240 -> F0
240 -> F0
strtol 함수를 알면 16진수를 10진수로 바꾸는 것을 한줄에 끝낼 수 있는데
저 함수를 모르면...
sprintf의 포멧에서 %X를 쓰느냐 %x를 쓰느냐에
따라서 16진수의 영문자(A~F)가 대문자로 표시되느냐
소문자로 표시되느냐가 결정되어진다.