基础练习 十六进制转十进制

 1 #include <iostream>
 2 using namespace std;
 3 int change(char x)
 4 {
 5     if(x>='0'&&x<='9') return x-'0';
 6     else if(x>='A'&&x<='F') return int(x-'A'+10); 
 7 }
 8 long long fang(long long x)
 9 {
10     if(x==1) return 1;
11     else if(x>1) return 16*fang(x-1);
12 }
13 int main()
14 {
15     string s;
16     while(cin>>s){
17         int len=s.length();
18         int n=1;
19         long long sum=0;
20         for(int i=len;i--;i>=0){
21             //cout<<change(s[i])<<endl;
22             sum+=change(s[i])*fang(n);
23             n++;
24         }    
25         cout<<sum<<endl;
26     }
27     return 0;
28 }

 

posted @ 2019-02-27 08:51  wydxry  阅读(465)  评论(0)    收藏  举报
Live2D