原理看图说话
代码实现
DWORD Func_hex_to_dec(const char* szHex);
int main()
{
Func_hex_to_dec("F3E4");
system("pause");
return 0;
}
DWORD Func_hex_to_dec(const char* szHex)
{
DWORD dwResult = NULL;
CHAR szHexTable[] = "0123456789ABCDEF";
if (!szHex)
return dwResult;
DWORD dwLen = strlen(szHex);
CHAR szTemp[2];
ZeroMemory(szTemp, 2);
DWORD dwPos = NULL;
for (DWORD i = dwLen,l=0; l<dwLen; i--,l++)
{
CopyMemory(szTemp, szHex+l, 1);
dwPos = strcspn(szHexTable, szTemp);
//printf("%d\n", dwPos);
dwResult += dwPos*((DWORD)pow(16, i-1));
ZeroMemory(szTemp, 2);
}
//printf("%d\n", dwResult);
return dwResult;
}