Binario A Decimal y Viceversa

También podría gustarte

Está en la página 1de 2

/*johnny llanos t.

2015-119039 */
//conversion de binarios a decimales y viceversa.
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
struct nodo
{
int num;
nodo *s;
};
void main(void)
{
int t,j,op;
nodo *r,*p=NULL;
int n,d,h;
char x[15];
char y;
//menu principal.
do
{
clrscr();
cout<<" Conversion de Numero Binarios/decimales " <<endl;
cout<<" "<<endl;
cout<<" Elija una opcion : "<<endl;
cout<<" 1.- Decimal -> Binario. "<<endl;
cout<<" 2.- Binario -> Decimal. "<<endl;
cout<<" 3.- salir. "<<endl;
cout<<" ->";cin>>op;

clrscr();
switch(op)
{
// conversion decimal-binario.
case 1:
cout<<" Conversion de Decimal a Binario " <<endl;
cout<<" "<<endl;
cout<<endl<<" ingresar numero : ";cin>>t;
while(t>=2)
{
r=new(nodo);
r->num=t%2;
r->s=p;
p=r;
t=t/2;
}
r=new(nodo);
r->num=t%2;
r->s=p;
p=r;
r=p;
cout<<endl<<" El numero binario es : ";
while(r!=NULL)
{
cout<<r->num;
r=r->s;
}

getch();
break;
//conversion binario-decimal
case 2:
cout<<" Conversion de Binario a Decimal " <<endl;
cout<<" "<<endl;
cout<<" ingresar numero : ";cin>>x;

n=strlen(x);
d=0;
for(j=0;j<n;j++)
{
y=x[j];

h=y-'0';

h=pow(2,n-(j+1))*h;
d=d+h;
}
cout<<endl<<" El numero decimal es : "<<d;

getch();
break;
}
}
while(op<=2);
}

También podría gustarte