AcWing 3452. 进制转换
原题链接
简单
作者:
Y._2
,
2021-05-06 22:20:48
,
所有人可见
,
阅读 556
#include <bits/stdc++.h>
using namespace std;
int main(){
string a;
while (cin>>a){
int flag = 0,sum = 0;
if(a[0] == '-')
flag++;
string b = a.substr(2 + flag);
reverse(b.begin(),b.end());
for (int i = 0; i < b.size(); ++i) {
if(b[i]>='0'&&b[i]<='9')
sum += (b[i] - '0') * pow(16,i);
else if (b[i] >= 'A' && b[i] <= 'Z')
sum += (b[i]-'A'+ 10) * pow(16,i);
else
sum += (b[i]-'a'+ 10) * pow(16,i);
}
if(flag)
cout<<"-";
cout<<sum<<endl;
}
}