Visual Basic 6.0: Convertir de Decimal a Binario

Para hacer este programa vamos a utilzar dos textboxes txt_entrada y txt_salida. Y un CommandButtom cmd_calcular.

El sigte es el codigo completo para realizar el programa:



Dim dec, bin As Integer
Dim sal As String


Private Sub cmd_calcular_Click()

dec = Val(txt_entrada.Text)
sal = ""


While dec > 0

bin = Fix(dec) Mod 2
dec = Fix(dec) / 2
sal = bin & sal
txt_salida.Text = Val(sal)

Wend

txt_salida.SetFocus

End Sub

 


Explicacion del código:

Dim dec, bin As Integer: Declaramos las variables dec y bin tipo entero.

Dim sal As String: Declaramos la variable sal tipo cadena.

dec = Val(txt_entrada.Text): Asignamos a la variable dec el valor del textbox txt_entrada al mismo tiempo que la funcion "Val" convierte el textbox en entero.

sal = "": Inicializamos la variable sal con un valor vacío.

While dec > 0: Mientras la variable dec sea mayor que 0 entonces ...

bin = Fix(dec) Mod 2: La variable "bin" será igual al valor de la variable dec Mod 2.. El mod se utiliza para obtener el residuo de una división. La división será entre el número que le indiquemos al lado, en este caso el numero 2, por ser 2 la base de los numeros binarios.

dec = Fix(dec) / 2: Luego de obtener el primer residuo la variable "dec" tendra el valor de ella misma entre 2.

sal = bin & sal: La variable "sal" sera igual al valor de la variable bin (que contiene el residuo de la división) concatenada con la misma variabe "sal" para ir acumulando el valor de los demas residuos que se generen mientras se ejecuta el WHILE.

txt_salida.Text = Val(sal) :  Finalmente se asigna a el textbox txt_salida el valor de "sal".

Wend: Aqui termina de ejecutar el While y vuelva hacia arriba mientras se cumpla la condición especificada en el mismo.



*Notas: 

Funcion Val: Devuelve los números contenidos en una cadena como un valor numérico del tipo adecuado.
Funcion Fix: Devuelven la parte entera de un número.
& : Se utiliza para concatenar caracteres.


C#: Convertir de decimal a binario

El siguiente programa va a convertir un numero decimal (base 10) en su representacion binaria (base 2).

Para ello necesitamos crear un form con:
2 textbox llamados txt_entrada y txt_salida
1 button llamado btn_calcular

En el botón btn_calcular digitar el siguiente codigo:


             
                int dec, bin;
                string sal = "";
                dec = Convert.ToInt16(txt_entrada.Text);
   

                while (dec > 0)
                {

                    bin = dec % 2;
                    dec = dec / 2;
                    Convert.ToString(bin);
                    sal = bin + sal;
                    txt_salida.Text = Convert.ToString(sal);

                }

                txt_entrada.Focus();



Explicacion del código:

int dec, bin: Declaramos las variables dec y bin tipo entero.

string sal = "": Declaramos la variable sal tipo cadena igualada a 'nada'.

dec = Convert.ToInt16(txt_entrada.Text): Asignamos a la variable dec el valor del textbox txt_entrada al mismo tiempo convertimos el textbox en entero.

while (dec > 0): Mientras la variable dec sea mayor que 0 entonces ...

bin = dec % 2: La variable bin sera igual al valor de la variable dec % 2. (% es la representacion del MOD en C#). El mod se utiliza para obtener el residuo de una division. La division sera entre el numero que le indiquemos al lado, en este caso el numero 2, por ser 2 la base de los numeros binarios.

dec = dec / 2: Luego de obtener el primer residuo la variable dec tendra el valor de ella misma entre 2.

Convert.ToString(bin): convertimos la variable "bin" en tipo string para poder proceder con la conatenacion.

sal = bin + sal: La variable "sal" sera igual al valor de la variable bin (que contiene el residuo de la division) concatenada con la misma variabe "sal" para ir acumulando el valor de los demas residuos que se generen mientras se ejecuta el WHILE.

txt_salida.Text = Convert.ToString(sal): Finalmente se asigna a el textbox txt_salida el valor de "sal".