题解 | #进制转换#
进制转换
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;
}


查看16道真题和解析