当前位置:   article > 正文

蓝桥杯基础训练----十六进制转十进制_十六进制转十进制 蓝桥杯

十六进制转十进制 蓝桥杯

资源限制

内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s

问题描述

  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

样例输入

FFFF

样例输出

65535

直接模拟:FFFF = > 15*(16^3)+15*(16^2)+15*(16^1)+15*(16^0)

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. string a;
  4. long long b;
  5. int main() {
  6. cin>>a;
  7. long long k=0;
  8. long long r=1;
  9. for(int i=a.length(); i>=0; i--) {
  10. if(a[i]>='0'&&a[i]<='9') {
  11. b+=r*(a[i]-'0');
  12. r*=16;
  13. } else if(a[i]>='A'&&a[i]<='F') {
  14. b+=r*(a[i]-'A'+10);
  15. r*=16;
  16. }
  17. }
  18. cout<<b<<endl;
  19. return 0;
  20. }

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号