基础练习之十六进制转十进制——BASIC-11

最后更新于:2022-04-01 14:53:06

## 基础练习 十六进制转十进制   时间限制:1.0s   内存限制:512.0MB   问题描述   从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。   注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 ~~~ // 十六进制转换十进制 #include <iostream> #include <string> #include <cmath> using namespace std; long long num; int main() { string str; int n,m,i; while(cin>>str) { m=str.length(); // 转换成十进制 num=0; for(i=m-1;i>=0;--i) { if(str[i]>='0'&&str[i]<='9') num+=pow(16,m-1-i)*(str[i]-'0'); else if(str[i]>='A'&&str[i]<='F') num+=pow(16,m-1-i)*(str[i]-'A'+10); } cout<<num<<endl; } return 0; } ~~~
';