#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int exchange_HB(string num,string &num2)
{
for(int i=0;i<=num.length()-1;i++)
{
if(num[i]=='0')num2=num2+"0000";
if(num[i]=='1')num2=num2+"0001";
if(num[i]=='2')num2=num2+"0010";
if(num[i]=='3')num2=num2+"0011";
if(num[i]=='4')num2=num2+"0100";
if(num[i]=='5')num2=num2+"0101";
if(num[i]=='6')num2=num2+"0110";
if(num[i]=='7')num2=num2+"0111";
if(num[i]=='8')num2=num2+"1000";
if(num[i]=='9')num2=num2+"1001";
if(num[i]=='A')num2=num2+"1010";
if(num[i]=='B')num2=num2+"1011";
if(num[i]=='C')num2=num2+"1100";
if(num[i]=='D')num2=num2+"1101";
if(num[i]=='E')num2=num2+"1110";
if(num[i]=='F')num2=num2+"1111";
}
}
int exchange_BD(string num2,long long &num3)
{
int i;int k=0;
for(i=num2.length()-1;i>=0;i--)
{
num3=num3+(num2[i]-48)*pow(2,k);
k++;
}
cout<<num3;
}
int main()
{
string num,num2;long long num3=0;
cin>>num;
exchange_HB(num,num2);
exchange_BD(num2,num3);
}
原博地址
https://blog.csdn.net/weixin_43673589