这是一道将任意进制数转换为10进制数的程序,请问为什么单单转换13进制数错了
这是一道将任意进制数转换为10进制数的程序,请问为什么单单转换13进制数错了(大于20的时候)?#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int main()
{
int z,r,cc=0,n,result=0;
cin>>z>>n; //z表示要转换的数,n表示进制数
do
{
r=z%10;z=z/10;
if(r>=n) break;
result+=r*pow(n,cc);
cc++;
}while(z!=0);
cout<<result;
return 0;
}