1257: 【入门】十六进制转十进制(1292)
内存限制:16 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:6
解决:5
题目描述
请将一个不超过10位的十六进制正整数转换为十进制整数!
输入
10位以内的十六进制正整数
输出
该数对应的十进制整数
样例输入 复制
2ECF
样例输出 复制
11983
提示
#include<bits/stdc++.h> using namespace std; string s; //t:表示权重,也就是16的i次方 long long r,t=1,i; int main(){ cin>>s; //逆序计算,按权展开 for(i=s.size()-1;i>=0;i--) { //如果s[i]是'0'~'9' if(isdigit(s[i])){ r=r+(s[i]-'0')*t; }else{ r=r+(s[i]-'A'+10)*t; } t=t*16; } cout<<r; return 0; }