Private Sub Form_Load()
Dim var(15) As Integer
Dim x As Integer
Dim Valor As Long
Dim bin As String
Dim potencia
Dim Agregado As String
bin = "11111"
'bin = "11"
'bin = "110"
'bin = "11110000111001"
'bin = "1000000000000000"
Agregado = AgregarCero(bin)
For x = 16 To 1 Step -1
var(x - 1) = Val(Mid(Agregado, x, 1)) 'Notar el uso de la función val
Next x
Valor = 0
'For x = 16 To 1 Step -1
For x = 1 To 16 ' es lo mismo que lo anterior
Valor = Valor + (var(x - 1) * (2 ^ (16 - x)))
Next x
Text1.Text = Valor
End Sub
Private Function AgregarCero(NumBin As String) As String
Dim longitud As Integer
Dim ParteNueva As String
Dim NuevoNum As String
Dim k As Integer
longitud = Len(NumBin)
For k = 1 To 16 - longitud
ParteNueva = ParteNueva & "0"
Next k
NuevoNum = ParteNueva + NumBin
AgregarCero = NuevoNum
End Function