计算机考研复试 进制转换
题目描述
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
示例1
输入
0xA
输出
10
//计算机考研程序设计 进制转换 /* 程序设计思想: 注意倒着处理即可。 */ //程序实现: #include<iostream> #include<string> using namespace std; int main(){ string s; while(cin>>s){ int length = s.size(),res =0; if(length <= 2) // continue; int bit=1; for(int i=length-1;i>1;--i){ // char cur = s[i]; if(cur>='A'&&cur<='F'){ res+=(cur-'A'+10)*bit; } else if(cur>='0' && cur<='9'){ res+=(cur-'0')*bit; } else continue; bit*=16; //处理完一位, } cout<<res<<endl; } return 0; }