zoukankan      html  css  js  c++  java
  • 基础练习 ——十六进制转十进制

    资源限制
    时间限制: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 }
  • 相关阅读:
    12.1
    我的火车头
    头文件优化时间
    一些姿势
    CodeForces
    CodeForces
    [SDOI 2015] 约数个数和
    BZOJ
    [国家集训队] middle
    鹅的问题
  • 原文地址:https://www.cnblogs.com/wlyperfect/p/12527143.html
Copyright © 2011-2022 走看看