Mini proyecto para convertir un Numero binario en decimal programado en Visual Basic 6.0, si deseas lo inverso, es decir de Decimal a Binario aquí el tema: Proyecto: Decimal a Binario en Visual Basic 6.0 y si adicionalmente necesitas más información sobre conversión de Decimal a Binario de manera manual aquí hay tema al respecto: Convertir Decimales a Binarios de forma manual.
El código fuente se basa en extraer el ultimo carácter del numero binario y multiplicarlo por 1, luego el siguiente carácter y multiplicarlo por 2, y así sucesivamente multiplicándolo por una constante x 2 (1,2,4,8,16,32), es decir, comienza en 1 y se multiplica sucesivamente por 2 (ver el tema de conversión para entender mejor)
Para El código fuente de este proyecto pega 1 Textbox (txtValor), 1 label (lblResultado), 1 botón (cmdEjecutar), y pega el siguiente código
Option Explicit Private Sub cmdEjecutar_Click() lblResultado.Caption = "" 'Seteamos el Resultado a vacio Dim Numero As String 'Declaramos la Variable que manejará el numero como cadena Numero = txtValor.Text 'le damos el valor del textbox a la variable string Dim Total As Long 'Acumulador Dim Constante, Temp As Integer 'Constante que irá cambiando en x 2 Constante = 1 'Iniciamos la contantes en 1 (ver tabla de conversiones) Do Temp = Val(Right(Numero, 1)) 'obtengo el primer numero de la derecha Numero = Left(Numero, Len(Numero) - 1) ' Al binario le quito el ultimo digito Total = Total + (Temp * Constante) 'El primer digito que saqué de la derecho lo multiplico con la constante Constante = Constante * 2 ' la constante será 1,2,4,8,16,32, etc. es decir, x 2 Loop Until Len(Numero) = 0 'Seguimos haciendo la operación hasta la cadena binario se quede sin digitos lblResultado.Caption = Total End Sub
Aquí el proyecto listo para descargar junto como el archivo compilado:
Hola, disculpa, en el código de convertir binarios a decimales, visual no me reconoce los comandos Rigth y Left, ayuda por favor ):
Es para visual básic 6.0 en tal caso busca una funcion que tenga el mismo fin
Muchas gracias, es perfecta!!!, elegante y rápida
si el usuario mediante casillas de verificacion escrbe el numero 0 o 1 como haces el codigo para transformar los ocho numero a decimal
algo como el usuario coloca las casillas de verificacion en este orden 01010001y da resultado el numero 81 no puedo hacer el codigo para el boton convertir
Muchas gracias