epelpad

El post que buscas se encuentra eliminado, pero este también te puede interesar

Decimal a Binario en C# (codigo)

Hola usuarios T! hoy les traigo este codigo en C sharp para convertir numeros de decimal a binario y biseversa.. a mi me sirvió para la escuela.. espero y a ustedes tambien les sirva...

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 <Enter> para salir..." );
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)*(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;
}
}

5 comentarios - Decimal a Binario en C# (codigo)

Gastom011
muchas gracias, iwalmente
KANEcm26
a mi me aparece errores sera q me lo puedes dar corregidos
AlbertoF62
Hola, a mi me pasó lo mismo. Me sirvió mucho la parte de Dec2Bin, sin embargo en Bin2Dec me dio algunos errores. Le meti un poco las manos y aquí te dejo mi solución para si te es útil:

Elimina del código los métodos Bin2Dec y Search (este último es llamado por el anterior) y usa como método Bin2Dec este que te dejo:

public static int Bin2Dec(string bin)
{
int resultado = 0;
for (int i = 0; i < bin.Length; i++)
{
if(bin[bin.Length-1-i]=='1')
{
resultado += Convert.ToInt16(Ma
kikimontes +1
Hola, el método .ToString() de la clase Convert tiene un parámetro que permite especificar la base del valor de retorno, puede ser base 2 (binario), 8 (octal), 10 (decimal), 16 (hexadecimal).
Así, no es necesario realizar todos los cálculos de conversión "a mano".

Ejemplo suponiendo que n = 20:

//Decimal a binario
textBox1.Text = Convert.ToString(n, 2); //salida: 10100

//Decimal a octal
textBox1.Text = Convert.ToString(n, 8); //salida: 24

//Decimal a hexadecimal
textBox1.Text = Convert.ToString(n, 16); //salida: 14

//Binario a hexadecimal
int n = 10100; // 20 decimal
n = Convert.ToInt32(n.ToString(), 2);
textBox1.Text = Convert.ToString(n, 16); //salida: 14

En el último ejemplo, primero se convierte de binario a decimal y luego de decimal a hexadecimal (Se convierte primero a String el primer parametro de ToInt32() por que así lo pide el método sobrecargado)

Saludos !!!