题解 | #进制转换#
进制转换
http://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
方法一
#include<iostream> using namespace std; int main() { int num; while(cin>>hex>>num) { cout<<num<<endl; } return 0; }
方法二
#include<iostream> #include<math.h> using namespace std; int main() { string str; while(cin>>str) { int ans = 0; for(int i=str.size()-1; i>0; --i) { if(str[i]>='0' && str[i]<='9') ans += (str[i]-'0') * pow(16, str.size()-1-i); //str.size()-1-i表示数位 else if(str[i]>='A' && str[i]<='F') ans += (str[i]-'A'+10) * pow(16, str.size()-1-i); } cout<<ans<<endl; } return 0; }