#include "stdio.h"
#include "ctype.h"
long NtoDec(char *str,int B)
{
int a[50] ={0};
long value = 0;
int count = 0;
while(*str!='\0') //将字符串中单个字符转换成整数保存到数组
{
if(*str>='0'&&*str<='9')
{
a[count++] = *str -'0';
}
else
{
a[count++] = toupper(*str)-'A'+10; //十六进制字符转换成整数
}
str++;
}
int count2 = 0;
for(int i = count - 1;i>=0;i--)//将数组中的数转换成一个整数
{
int y = 1;
for(int j = 0;j < count2 ;j++)
{
y*=B;
}
value += a[i]*y;
count2++;
}
return value;
}
int main(int argc, char* argv[])
{
long value = NtoDec("111",2);
printf("%d\n",value);
return 0;
}