题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
#include <iostream> #include<math.h> using namespace std; int main() { string s; cin>>s; int length = s.size(); int num = 0; int time = 0; for(int i=length-1;i>1;i--)//从后往前读取至第二位结束 { if(s[i]>64)//每读一位次数+1 { num = num +(s[i]-55)*pow(16,time++);//该位为字母是根据ASCII码对应法则转换成数字 } else { num = num + (s[i]-48)*pow(16,time++);//改为为符号数字时不能直接进行运算 } } cout<<num; }