Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

de hexadecimal a binario

Estas en el tema de de hexadecimal a binario en el foro de Visual Basic clásico en Foros del Web. amigos, necesito un codigo que solo convierta de hexadecimal a binario,, he tratado y no me da y he buscado en la web y me ...
  #1 (permalink)  
Antiguo 30/09/2008, 16:38
 
Fecha de Ingreso: septiembre-2008
Ubicación: en manizales, colombia
Mensajes: 7
Antigüedad: 15 años, 7 meses
Puntos: 0
de hexadecimal a binario

amigos, necesito un codigo que solo convierta de hexadecimal a binario,,
he tratado y no me da y he buscado en la web y me salen unos demasiado complejos..
les agradeceria si me ayudan...
gracias
  #2 (permalink)  
Antiguo 01/10/2008, 03:30
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: de hexadecimal a binario

Cita:
Iniciado por fraid Ver Mensaje
amigos, necesito un codigo que solo convierta de hexadecimal a binario,,
he tratado y no me da y he buscado en la web y me salen unos demasiado complejos..
les agradeceria si me ayudan...
gracias
Hola, te pongo una función para la conversión:

Código:
Public Function HexToBin(ByVal miHex As String) As Long
Dim sTmp As String, miDec As Currency
Dim i1 As Integer, i2 As Integer, L1 As Long, L2 As Long

' primero lo convertimos a Decimal
miHex = Right("0000000" & miHex, 8)
i1 = CInt("&H" & Right(miHex, 2))
i2 = CInt("&H" & Mid(miHex, 3, 2))
L1 = CLng("&H" & Mid(miHex, 5, 2))
L2 = CLng("&H" & Left(miHex, 2))
miDec = CCur(L2 * 256 + i2) * 65536 + (L1 * 256) + i1
' ahora de Decimal a Binario
Dim miBin As String, sDec As String
sDec = Str(miDec)
Do
    sTmp = Str(sDec Mod 2)
    miBin = sTmp & miBin
    sDec = IIf(Right(Str(sDec), 2) = ".5", sDec - 0.5, IIf(sDec Mod 2 > 0, sDec - 1, sDec)) / 2
Loop Until sDec = 0
HexToBin = Val(miBin)
End Function
Para llamar a la función, p.e. desde un TextBox

Código:
Dim Binario As Long
Binario = HexToBin("E1")
MsgBox Binario      ' resultado: 11100001 
  #3 (permalink)  
Antiguo 01/10/2008, 11:43
 
Fecha de Ingreso: septiembre-2008
Ubicación: en manizales, colombia
Mensajes: 7
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: de hexadecimal a binario

Cita:
Iniciado por Avellaneda Ver Mensaje
Hola, te pongo una función para la conversión:

Código:
Public Function HexToBin(ByVal miHex As String) As Long
Dim sTmp As String, miDec As Currency
Dim i1 As Integer, i2 As Integer, L1 As Long, L2 As Long

' primero lo convertimos a Decimal
miHex = Right("0000000" & miHex, 8)
i1 = CInt("&H" & Right(miHex, 2))
i2 = CInt("&H" & Mid(miHex, 3, 2))
L1 = CLng("&H" & Mid(miHex, 5, 2))
L2 = CLng("&H" & Left(miHex, 2))
miDec = CCur(L2 * 256 + i2) * 65536 + (L1 * 256) + i1
' ahora de Decimal a Binario
Dim miBin As String, sDec As String
sDec = Str(miDec)
Do
    sTmp = Str(sDec Mod 2)
    miBin = sTmp & miBin
    sDec = IIf(Right(Str(sDec), 2) = ".5", sDec - 0.5, IIf(sDec Mod 2 > 0, sDec - 1, sDec)) / 2
Loop Until sDec = 0
HexToBin = Val(miBin)
End Function
Para llamar a la función, p.e. desde un TextBox

Código:
Dim Binario As Long
Binario = HexToBin("E1")
MsgBox Binario      ' resultado: 11100001 
oye amigo: muchas gracias por hacerme el favr,,
pero tengo otra pregunta,,, que necesito??
un command button, un text box,, no se que necesito para tu diseño
gracias
  #4 (permalink)  
Antiguo 01/10/2008, 11:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: de hexadecimal a binario

No necesitas ningún control para hacer funcionar el código que puso Avellaneda. Lo único que necesitas es llamar a la función pasándole como parámetro la cadena en hexadecimal. Él ya te puso un ejemplo de cómo hacer la llamada.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:08.