Consulta sobre código de programa implementado en visual basic para convertir números decimales
Estoy desarrollando un programa muy sencillo, el cual convierte un numero decimal, a un numero de cualquier base del 2 al 9
para verificar, lo convierto a binario (base 2) pero falla con algunos valores como el 3, 11, entre muchos!
Acá les mando el código para que me informen en que le estoy errando! Gracias!
Dim numero As Integer
Dim base As Integer
Dim contador As Integer
Dim i As Integer
Dim valorrestos(1 To 100) As Integer
Dim resultado2 As Integer
Private Sub Command1_Click()
numero = Text1.Text
base = Text2.Text
resultado2 = Val(cambiarabase(numero, base))
Text3.Text = resultado2
End Sub
Function cambiarabase(numero As Integer, base As Integer) As String
Dim cociente As Integer
cociente = numero
contador = 1
Do While (cociente <> 0)
valorrestos(contador) = cociente Mod base
List1.AddItem valorrestos(contador)
cociente = cociente / base
contador = contador + 1
Loop
Dim resultado As String
resultado = ""
For i = 1 To (contador)
resultado = Str(valorrestos(i)) + resultado
Next i
cambiarabase = resultado
End Function
Gracias
para verificar, lo convierto a binario (base 2) pero falla con algunos valores como el 3, 11, entre muchos!
Acá les mando el código para que me informen en que le estoy errando! Gracias!
Dim numero As Integer
Dim base As Integer
Dim contador As Integer
Dim i As Integer
Dim valorrestos(1 To 100) As Integer
Dim resultado2 As Integer
Private Sub Command1_Click()
numero = Text1.Text
base = Text2.Text
resultado2 = Val(cambiarabase(numero, base))
Text3.Text = resultado2
End Sub
Function cambiarabase(numero As Integer, base As Integer) As String
Dim cociente As Integer
cociente = numero
contador = 1
Do While (cociente <> 0)
valorrestos(contador) = cociente Mod base
List1.AddItem valorrestos(contador)
cociente = cociente / base
contador = contador + 1
Loop
Dim resultado As String
resultado = ""
For i = 1 To (contador)
resultado = Str(valorrestos(i)) + resultado
Next i
cambiarabase = resultado
End Function
Gracias
1 Respuesta
Respuesta
1