sábado, 30 de marzo de 2013
Conversión de decimal a binario y de binario a decimal (Visual c#)
Les vuelvo a mostrar como hacer la conversión de un número entero a decimal y de binario a decimal, pero en Visual c#.
En la Form1.cs [Diseño], utilizaremos un componente label y le pondremos en la propiedad Text: "Introduzca el valor a convertir", después le pondremos un componente textBox a un lado del label; luego dos componentes buttons, uno para la conversión de decimal a binario y el otro para la conversión de binario a decimal; y por último, otro componente label para visualizar el valor ya convertido.
Después de haber terminado con el diseño de la aplicación, vamos a proseguir con la introducción del código.
Primero haremos de forma directa la conversión de decimal a binario, hacemos doble click en el primer botón e ingresamos el siguiente código:
private void button1_Click(object sender, EventArgs e)
{
long num = Convert.ToInt32(textBox1.Text);
if (num > 0)
{
String bin = "";
while (num > 0)
{
if (num % 2 == 0)
{
label2.Text = bin = "0" + bin;
}
else
{
label2.Text = bin = "1" + bin;
}
num = (long)(num / 2);
}
label2.Text = bin;
}
else
{
if (num < 0)
MessageBox.Show("Solo numeros positivos");
}
}
Ahora ingresaremos un método para la conversión de binario a decimal:
public String binToDec(String cadNumero)
{
int i, iLength;
long iResult = 0;
iLength = cadNumero.Length;
long[] cadena = new long[cadNumero.Length];
long numero = long.Parse(cadNumero);
iLength--;
long cifra = 0;
for (int j = cadNumero.Length - 1; j >= 0; j--)
{
cifra = numero % 10;
numero = numero / 10;
cadena[j] = cifra;
}
for (i = 0; i < cadNumero.Length; i++, iLength--)
{
iResult += cadena[i] * (long)Math.Pow(2, iLength);
}
return iResult.ToString();
}
Ya terminado el método, le damos doble click al segundo botón y escribimos:
private void button2_Click(object sender, EventArgs e)
{
label2.Text = binToDec(textBox1.Text);
}
Y eso es todo, les debe funcionar bien...
En la Form1.cs [Diseño], utilizaremos un componente label y le pondremos en la propiedad Text: "Introduzca el valor a convertir", después le pondremos un componente textBox a un lado del label; luego dos componentes buttons, uno para la conversión de decimal a binario y el otro para la conversión de binario a decimal; y por último, otro componente label para visualizar el valor ya convertido.
Después de haber terminado con el diseño de la aplicación, vamos a proseguir con la introducción del código.
Primero haremos de forma directa la conversión de decimal a binario, hacemos doble click en el primer botón e ingresamos el siguiente código:
private void button1_Click(object sender, EventArgs e)
{
long num = Convert.ToInt32(textBox1.Text);
if (num > 0)
{
String bin = "";
while (num > 0)
{
if (num % 2 == 0)
{
label2.Text = bin = "0" + bin;
}
else
{
label2.Text = bin = "1" + bin;
}
num = (long)(num / 2);
}
label2.Text = bin;
}
else
{
if (num < 0)
MessageBox.Show("Solo numeros positivos");
}
}
Ahora ingresaremos un método para la conversión de binario a decimal:
public String binToDec(String cadNumero)
{
int i, iLength;
long iResult = 0;
iLength = cadNumero.Length;
long[] cadena = new long[cadNumero.Length];
long numero = long.Parse(cadNumero);
iLength--;
long cifra = 0;
for (int j = cadNumero.Length - 1; j >= 0; j--)
{
cifra = numero % 10;
numero = numero / 10;
cadena[j] = cifra;
}
for (i = 0; i < cadNumero.Length; i++, iLength--)
{
iResult += cadena[i] * (long)Math.Pow(2, iLength);
}
return iResult.ToString();
}
Ya terminado el método, le damos doble click al segundo botón y escribimos:
private void button2_Click(object sender, EventArgs e)
{
label2.Text = binToDec(textBox1.Text);
}
Y eso es todo, les debe funcionar bien...
Conversión de decimal a binario y de binario a decimal (Consola c#)
Aquí les muestro como convertir un número entero o decimal a binario y de binario a decimal en Consola c#.
Primero comenzamos con el método de conversión:
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[i] == 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;
}
Después continuaremos con el método del Menú de selección:
public static int Menu()
{
int iOpc;
string strOpc;
Console.Write("\n\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;
}
Ya de haber terminado con los métodos, comenzaremos a crear el programa en el "main":
static void Main(string[] args)
{
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 : ");
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("\nOpcion incorrecta.");
break;
}
iOpc = Menu();
}
Console.Write("\nPresione <Enter> para salir...");
Console.Read();
}
Y ya debe funcionar correctamente el programa para convertir un número entero o decimal a binario y de binario a decimal....
Primero comenzamos con el método de conversión:
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[i] == 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;
}
Después continuaremos con el método del Menú de selección:
public static int Menu()
{
int iOpc;
string strOpc;
Console.Write("\n\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;
}
Ya de haber terminado con los métodos, comenzaremos a crear el programa en el "main":
static void Main(string[] args)
{
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 : ");
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("\nOpcion incorrecta.");
break;
}
iOpc = Menu();
}
Console.Write("\nPresione <Enter> para salir...");
Console.Read();
}
Y ya debe funcionar correctamente el programa para convertir un número entero o decimal a binario y de binario a decimal....
Suscribirse a:
Entradas (Atom)