10进制转16进制
#include<iostream>
#include<string>
using namespace std;
// 十进制转16进制
int main()
{
long x; // 输入的数字
int r=0; // 余数
string res=""; // 输出的结果
cin>>x;
if(x==0)
{
cout<<"0x0"<<endl;
system("pause");
return 0;
}
while(x>0)
{
r=x%16;
if(r<10)
{
res+=char('0'+r);
}
else
{
res+=char('A'+r-10);
}
x/=16;
}
cout<<"0x"<<res<<endl;
system("pause");
return 0;
}

16进制转10进制
#include<iostream>
#include<string>
using namespace std;
int main()
{
string line;
int res=0;
while(getline(cin, line))
{
for(int i=2;i<line.length();i++)
{
if(isdigit(line[i]))
{
res=res*16+line[i]-'0';
}
else
{
res=res*16+10+line[i]-'A';
}
}
cout<<res<<endl;
res=0;
}
return 0;
}