Acasa Tehnologie Transformare in baza 10 din alta baza

Transformare in baza 10 din alta baza

by Dragos Schiopu

>Transformarea din orice alta baza in baza 10 a unui numar.

#include <stdio.h>
#include <conio.h>

int power(int a, int b)
{
long int c=1;
int i;
if (b==0) return 1;
else{
for(i=1;i<=b;i++)
c=c*a;

return c;
}
}

main()
{
long int aux,nr,nr10=1;
int i,n,baza,nrcifre=0;
printf("Dati numarul: ");
scanf("%ld",&nr);
printf("Numarul tastat de dv este %ld n",nr);
do
{
printf("Dati baza: ");
scanf("%d",&baza);
}
while ((baza>10)||(baza<2));
printf("Numarul tastat de dv este %d n",baza);
aux=nr;
do
{
aux=aux/10;
nrcifre=nrcifre+1;
}
while (aux!=0);

printf("nr cifre=%d",nrcifre);
aux=nr;
for(i=0;i<nrcifre-1;i++);
{
if((aux%2)==1)
nr10=nr10+power(baza,i);
else aux=aux/10;
}
printf("n");
printf("nr in baza 10 este %ld",nr10);
getch();
return 0;
}

s-ar putea sa-ti placa