描述
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
数据范围:保证结果在 1≤n≤231−1 1≤n≤231−1
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。不同组的测试用例用\n隔开。
示例1
输入:
0xAA
复制输出:
170
复制
相似企业真题
#include<string.h>
#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
char hexa[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int main() {
string hexadecimal;
while(cin>>hexadecimal){
int decimal=0;
if(hexadecimal[0]=='0'&&hexadecimal[1]=='x'){
for(int i=hexadecimal.size()-1;i>=2;i--){
for(int j=0;j<=15;j++){
if(hexadecimal[i]==hexa[j]){
decimal=decimal+ j*pow(16,hexadecimal.size()-i-1);
// cout<<decimal<<endl;
}
}//for
}//for
cout<<decimal<<endl;
hexadecimal.clear();
}//if
}//while
}//main
// 64 位输出请用 printf("%lld")