当前位置: 代码迷 >> 综合 >> 蓝桥杯【基础练习】十六进制转十进制
  详细解决方案

蓝桥杯【基础练习】十六进制转十进制

热度:76   发布时间:2023-11-01 07:40:19.0

基础练习 十六进制转十进制  
时间限制:1.0s   内存限制:512.0MB
      
问题描述
  从键盘输入一个不超过8位的正的十六进

制数字符串,将它转换为正的十进制数后输

出。
  
注:十六进制数中的10~15分别用大写的英文

字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
会超界!!!!
#include <bits/stdc++.h>
using namespace std;
int main() 
{string a;while(cin>>a){long long  p=1,x;long long  s=a.length();long long  t=0;while(s--){if(a[s]<='9'&&a[s]>='0')x=a[s]-'0';else x=a[s]-'A'+10;t=t+p*x;p*=16;}cout<<t<<endl;}}