平日小问题(6):m进制转十进制

来源:互联网 发布:ubuntu服务器版u盘安装 编辑:程序博客网 时间:2024/06/06 13:56
/*    出自CODEVS    m进制转十进制 题目描述 Description    将m进制数n转化成一个十进制数 m<=16 题目保证转换后的十进制数<=100输入描述 Input Description    共一行 n和m输出描述 Output Description    共一个数 表示m进制的n化成十进制的数样例输入 Sample Input    1010 2样例输出 Sample Output    10数据范围及提示 Data Size & Hint    乘权累加法*/#include <iostream>#include <string>#include <cmath>using namespace std;int main(){    int s,m,temp;    string n;    cin>>n>>m;    s = 0;/*    ASCII码中, 0~9为48~57       A~Z 为65~90*/    for(int i=n.length()-1; i>=0; i--)    {        temp = n.length()-(i+1);        if(n[i]>=48 && n[i]<=57)        {            s += (n[i]-'0') * pow(m,temp);        }        else        {            s += ((n[i]-17-'0')+10) * pow(m,temp);        }     }      cout<<s<<endl;     return 0;}
0 0
原创粉丝点击