您的位置:首页 > 其它

任意进制到10进制的转换

2016-11-20 20:51 169 查看
贴一个任意进制(2-36)到10进制的转换
#include <iostream>
#include <string.h>
#include <stdio.h>

using namespace std;

long  toTen(char a[], int bit)
{
int length = strlen(a);
int i, b=1,sum=0; //i要做数组a的下标,注意其起止范围
for(i=length-1; i>=0; i-- )
{
if(a[i]>='A')
{
sum += (a[i]-'A'+10) *b;
b *= bit;
}
else
{
sum += (a[i]-'0') *b;
b *= bit;
}
}
return sum;
}
int main()
{
int aNum,a;
char cNum[20];
cin>>aNum;
sprintf(cNum,"%d",aNum);
a = toTen(cNum,5);//这里是5进制转10进制的模板
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: