进制转换(暑假每日一题 44)

Posted sweetheart7_7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进制转换(暑假每日一题 44)相关的知识,希望对你有一定的参考价值。


写出一个程序,输入一个十六进制的数值字符串,输出该数值的十进制字符串。

输入格式
输入包含多组测试数据。

每组数据占一行,包含一个十六进制的数值字符串。

输出格式
每组数据输出一行结果,表示给定数值的十进制字符串。

数据范围
每个输入最多包含 组数据。
所有答案均在 int 范围内。

输入样例:

0xA

输出样例:

10

#include<iostream>

using namespace std;

int get(char x)

if(x <= 9) return x - 0;
if(x <= Z) return x - A + 10;
return x - a + 10;


int main()

string s;
while(cin >> s)

int b = 1, res = 0;
int ed = 2 + (s[0] == -);
for(int i = s.size() - 1; i >= ed; i--)

res += b * get(s[i]);
b *= 16;

if(ed == 3) cout << -;
cout << res << endl;


return 0;


以上是关于进制转换(暑假每日一题 44)的主要内容,如果未能解决你的问题,请参考以下文章

统计单词(暑假每日一题 43)

《LeetCode之每日一题》:166.数字转换为十六进制数

2021暑假每日一题 week2 完结

2021暑假每日一题 week5 完结

2021暑假每日一题 week9 完结

2021暑假每日一题 week6 完结