C++

Hex 코드를 int 로 변환하는 함수

오즈마스터 2008. 2. 1. 18:16
// Hex 코드를 int 로 변환
int HexToInt(TCHAR chHex)
{
 int nRtn = 0;
 switch(chHex)
 {
 case 'A':case'a': // 10
  nRtn = 10;
  break;
 case 'B':case 'b': // 11
  nRtn = 11;
  break;
 case 'C':case 'c': // 12
  nRtn = 12;
  break;
 case 'D':case 'd': // 13
  nRtn = 13;
  break;
 case 'E':case 'e': // 14
  nRtn = 14;
  break;
 case 'F':case 'f': // 15
  nRtn = 15;
  break;
 default:
  nRtn = chHex - '0';
  break;

 }
 return nRtn;
}

// 두자리수 이상 Hex 코드를 int 로 변환
int HexToInt(LPCTSTR szHex)
{
 int nRtn = 0;

 CString strHex(szHex);
 int nLen = strHex.GetLength();
 for(int i=0; i<nLen; ++i)
 {
  int nDegree = (int)(pow((double)16.0f,(double)(nLen-i-1)));
  nRtn += HexToInt(strHex[i]) * nDegree ;
 }

 return nRtn;
}