code :
#include<bits/stdc++.h> using namespace std; int i,j,n,m,e,s,num=0; string
st="",str="",ans=""; int base,decimal,toBase,power=1; //Any base --> Decimal int val(char c){
if (c >= '0' && c <= '9') return (int)c - '0';
else return (int)c - 'A' + 10; } int FromAnyBase(){
for(i=n-1;i>=0;i--)
{
num += val(st[i])*power;
power = base*power;
}
return num; } //Decimal --> Any base char reVal(int num){
if (num >= 0 && num <= 9) return (char)(num + '0');
else return (char)(num - 10 +
'A'); } string ToAnybase(){
while(decimal>0)
{
char ch = reVal(decimal%toBase);
str = ch +str;
decimal /= toBase;
}
return str; } int main(){
cin>>st>>base>>toBase;
n = st.size();
decimal = FromAnyBase();
cout<<"In decimal : "<<decimal<<endl;
ans = ToAnybase();
cout<<"In base "<<toBase<<" :
"<<ans<<endl; } |
Comments
Post a Comment