Saturday, January 14, 2012

Base Conversion :: Decimal(10 base) To AnyBase(Ybase) Conversion

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>

void decimal_to(long num,char con[],int base)
{
char res[1009];
int i=0,k=1,j;
if(num<0){
k=-1;
num*=-1;
}
while(num){
con[i]=num%base;
if(con[i]>9)
con[i]+=55;
else
con[i]+=48;
i++;
num/=base;
}
if(k<0)
con[i++]='-';
con[i]=0;
k=0;
for(j=i-1;j>=0;j--)
res[k++]=con[j];
res[k]='\0';
puts(res);
}

int main()
{
int i,n;
long num;
char ch[1009];
while(scanf("%d\n",&n)==1)
{
scanf("%ld",&num);
decimal_to(num,ch,n);
//printf("%ld\n",to_decimal(ch,n));
}
return 0;
}

No comments:

Post a Comment