using System;
class convertidor
{
public static void Main()
{
string Num;
int iOpc;
Console.WriteLine("\nPrograma que convierte de Decimal a Binario y Binario a Decimal" );
iOpc=Menu();
while(iOpc!=3)
{
switch(iOpc)
{
case 1:
Console.Out.Write("\nEscribe un numero en base 10: " );
Num=Console.ReadLine();
Console.Write("El numero en binario es: "+Dec2Bin(atoi(Num)));
Console.WriteLine();
break;
case 2:
Console.Out.Write("\nEscribe un numero en binario: " );
Num=Console.ReadLine();
Console.Write("El numero en decimal es: "+Bin2Dec(Num));
Console.WriteLine();
break;
case 3: break;
default: Console.Write("Opcion incorrecta." );
break;
}
iOpc=Menu();
}
Console.Write("\nPresione
Console.Read();
}
public static int Menu()
{
int iOpc;
string strOpc;
Console.Write("\n1.- Decimal a Binario." );
Console.Write("\n2.- Binario a Decimal." );
Console.Write("\n3.- Salir" );
Console.Write("\nEscoje tu opcion: " );
strOpc=Console.ReadLine();
iOpc=atoi(strOpc);
return iOpc;
}
public static int atoi(string strNum)
{
return int.Parse(strNum);
}
private static int Search(char c)
{
string Num="01";
int i=0;
for(i=0;i<2;i++){
if(Num==c)
break;
}
return i;
}
public static int Bin2Dec(string Cad)
{
int i,iLenght;
int iResult=0;
iLenght=Cad.Length;
iLenght--;
for(i=0; i < Cad.Length; i++,iLenght--){
iResult+=(Search(Cad[i])*(int)Math.Pow(2,iLenght));
}
return iResult;
}
public static string Dec2Bin(int iNum)
{
string strNum="";
int i;
int iMask=1 << 7;
for(i=1;i<=8;i++){
if((iNum & iMask)!=0)
strNum+="1";
else
strNum+="0";
iNum<<=1;
}
return strNum;
}
}
0 comentarios:
Publicar un comentario