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.
Publicar un comentario