注册 登录
编程论坛 C++教室

C++关于m进制转化十进制,求建议

q673985652 发布于 2013-05-22 17:56, 430 次点击
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main()
{
string n;
cin>>n;//需要转化的数
int len=n.length();
double m,tot=0.0;//m为“n”是多少进制数
int i = 0;
    cin>>m;
    while(i<len)
    {
       tot+=(n[i]-'0')*std::pow(m,len-i-1);
        i++;
    }
    cout<<tot;
    return 0;
}


//************* 如何在此基础上修改成m=16(即十六进制转化为十进制)也通过?拜托各位了


[ 本帖最后由 q673985652 于 2013-5-22 18:06 编辑 ]
3 回复
#2
q6739856522013-05-22 18:06
。。咳咳
#3
lzj125302013-05-23 09:48
ASCII码值中 数字和字母(区分大小写)不是连续在一起的。所以你要求单独转换16进制就需要针对的改,而且应该规定大小写 或者进行一个判断例如.
1