一开始有错误,只能每一步输出一下
#include<stdio.h>
#include<vector>
#include<string.h>
#include<iostream>
using namespace std;
//实现一个函数,其作用是将输入的十六进制字符串转换为整数
unsigned int Hex2Int(const char*str)
{
int size = strlen(str);
unsigned int result = 0;
for (int i = 0; i < size;i++ )
{
char chr = str[i];
printf("%c\n", chr);
unsigned int value = 0;
if (chr >= 'a' && chr <= 'f')
{
value = chr - 'a' + 10;
printf("Little:%d\n", value);
}
else if (chr >= 'A' && chr <= 'F')
{
value = chr - 'A' + 10;
printf("Large:%d\n", value);
}
else if (chr >= '0' && chr <= '9')
{
value = chr - '0';
printf("NUM:%d\n", value);
}
result = result * 16 + value;
printf("result:%d\n", result);
}
return result;
}
int main()
{
const char*str = "Ab";
cout<<Hex2Int(str)<<endl;
return 0;
}