Convercion de decimal a binario en macro

Solo disponible en BuenasTareas
  • Páginas : 2 (483 palabras )
  • Descarga(s) : 4
  • Publicado : 13 de mayo de 2010
Leer documento completo
Vista previa del texto
pues le he puesto al commandbutton "convertir" lo siguiente:
label2.caption=hex(text1.text)
label2.caption=oct(text1.text)

en hexadecimal y en octal funciona, pero he probado con bin(text1.text) y nada. Lo de las divisiones que dices se me habia ocurrido, pero esque soy muy novato en esto jeje. Seria un bucle con mod (que esto me devuelve el resto de la division) pero no se exactamente comohacerlo, un saludo y gracias por contestar

2. Dim D As String ' Decimal
Dim B As String ' Binario
Dim M As Long ' Variable

M = Val(Text1) 'Donde se guarda los decimales

' Convertir abinario
Do Until M < 1
D = D & Trim(Str(M Mod 2)) 'TRIM Elimina espacios q tenga una cadena
M = M \ 2 'STR Convierte un número a una cadena en numeración decimal
Loop

For k = Len(D) To 1 Step -1 'Len Devuelve la longitud de la cadena
B = B & Mid(D, k, 1) ' Mid reemplaza caracteres en una variable de cadena con caracteres de otra cadena
Next k ' La k solo la usamos como "bandera" o mmmvariable flotante

' Escribir el número binario
Text2 = B

3. Public Function Dec2Bin(numero As Integer) As String
If numero NumBase) Then
R = -1
Exit For
End If
R = R + (P - 1) * (NumBase ^(Len(S) - I))
Next I
End If
ToDec = R
End Function

Rem Transforma un número decimal en otras bases
Rem N = Número a convertir
Rem NumBase = Número de la Base
Rem 2=Binario, 8=Octal, 10=Decimal,16=Hexadecimal
Rem Si hay un error, retorna una cadena vacía.
Function FromDec(ByVal N As Long, ByVal NumBase As Integer) As String
Dim S As String
S = ""
If ((NumBase = 2) Or (NumBase = 8) Or(NumBase = 10) Or (NumBase = 16)) And (N >= 0) Then
Do
S = Mid(NumChars, (N Mod NumBase) + 1, 1) + S
N = Fix(N / NumBase)
Loop Until (N = 0)
End If
FromDec = S
End Function

Rem Convierte deCualquier base a cualquier base.
Rem N = Núero a convertir
Rem fromBase = Base de origen (2, 8, 10, 16)
Rem toBase = base destino (2, 8, 10, 16)
Function Convert(ByVal N As String, ByVal fromBase...
tracking img