Daffodil International University
Problem Link
//Please follow from Main Function
#include<bits/stdc++.h>
using namespace std;
void destohex(int s){
int b=16, i=0;
string des;
while(s!=0){
int m=s%b;
if(m < 10)
{
des[i] = m + 48;
i++;
}
else
{
des[i] = m + 55;
i++;
}
s/=b;
}
des[i]='\0';
for(int j=i-1; j>=0; j--) cout<<des[j];
}
int hexToDec(string s)
{
int len = s.size();
int b = 1;
int dec_val = 0;
for (int i=len-1; i>=0; i--)
{
if (s[i]>='0' && s[i]<='9')
{
dec_val += (s[i] - 48)*b;
b = b * 16;
}
else if (s[i]>='A' && s[i]<='F')
{
dec_val += (s[i] - 55)*b;
b = b*16;
}
}
return dec_val;
}
int main()
{
string s;
while(1){
cin>>s;
if(s[0]=='-') break;
if(s[1]=='x' && s[0]=='0'){
cout<<hexToDec(s)<<endl;
}
else{
int m=0;
for(int i=0; i<s.size(); i++){
m=m*10;
m+=s[i]-48;
}
cout<<"0x";
destohex(m);
cout<<endl;
}
}
return 0;
}
0 Comments