码迷,mamicode.com
首页 > 其他好文 > 详细

基础练习 ——十六进制转十进制

时间:2020-03-19 21:26:58      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:超过   进制   namespace   英文字母   cin   bsp   文字   while   span   

资源限制
时间限制:1.0s   内存限制:512.0MB
问题描述
  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
 1 #include<iostream>
 2 #include<string>
 3 #include<cmath>
 4 using namespace std;
 5 int main()
 6 {
 7     string str;
 8     while(cin >> str)
 9     {
10         int len = str.length();
11         long long int res = 0;
12         int t = len;
13         for(int i = 0;i < len;i++)
14         {
15             if(isdigit(str[i]))
16             {
17                 res = res + (str[i] - 0) * pow(16,t-1);
18                 t--;
19             }
20             else
21             {
22                 res = res + (str[i] - A + 10) * pow(16,t-1);
23                 t--;
24             }
25         }
26         cout << res << endl;
27     }
28     return 0;
29 }

 

基础练习 ——十六进制转十进制

标签:超过   进制   namespace   英文字母   cin   bsp   文字   while   span   

原文地址:https://www.cnblogs.com/wlyperfect/p/12527143.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!