이 코드는 16 진수를 10 진수로 변환합니다.이 코드가 16 진수를 10 진수로 변환하는 이유
int value;
// ch is a char variable holding a hexadecimal digit
if (isxdigit(ch))
if (isdigit(ch))
value = ch - '0';
else
value = tolower(ch) - 'a' + 10;
else
fprintf(stderr, "%c is not a valid hex digit", ch);
어떻게 작동하는지 완전히 이해하지 못합니다. 숫자가 문자인지 문자인지에 따라 char 변수에서 다른 것들을 뺀 것을 볼 수 있습니다. 숫자가 변환되는 부분을 이해할 수 있지만 문자가 문자 인 경우 10을 값에 추가해야하는 이유를 알지 못합니다.