¿Cómo manejar la conversión entre hexadecimal y decimal en VB?
Para convertir 10 a hexadecimal, puede usar la función HEX(). No existe una función preparada para convertir hexadecimal a 10. Puede usar el siguiente código para lograrlo:
'?Propósito: Convertir hexadecimal a decimal
'?Entrada: Hex (número hexadecimal)
'?Tipo de datos de entrada: Cadena
'?Salida : HEX_to_DEC (número decimal)
'?Tipo de datos de salida: largo
'?El número máximo de entrada es 7FFFFFF, el número máximo de salida es 2147483647
Público función: HEX_to_DEC(ByVal?Hex?As?String)?As?Long
Dim?i?As?Long
Dim?B?As?LongHex? =?UCase(Hex. )
Para?i?=?1?A?Len(Hex)
Seleccione Caso?Mid(Hex,?Len(Hex)?-?i ? 1,? 1 ) ? "0":?b?=?b? ?16?^?(i?-?1)?*?0
Caso?"1":?b?=?b? ^?(i?-?1)?*?1
Caso?"2":?b?=?b? ?16?^?(i?-?1)?*?2
Caso?"3":?b?=?b? ?16?^?(i?-?1)?*?3
Caso?"4":?b ?=?b? ?16?^?(i?-?1)?*?4
Caso?"5":?b?=?b? )?*?5
Caso?"6":?b?=?b? ?16?(i?-?1)?*?6
Caso?"7 ":?b?=?b? ?16?^?(i?-?1)?*?7
Caso?"8":?b?=?b? ?16?^? (i?-?1)?*?8
Caso?"9":?b?=?b? ?16?^?(i?-?1)?*?9
Caso?"a":?b?=?b? ?16?^?(i?-?1)?*?10
Caso?"b":?b?= ?b? ?16?(i?-?1)?*?11
Caso?"c":?b?=?b? ?16?^?(i?-?1)? *?12
Caso?"d":?b?=?b? ?16?^?(i?-?1)?*?13
Caso?"e ":?b?=?b? ?16?^?(i?-?1)?*?14
Caso?"f":?b?=?b? ?16?(i ?-?1)? Fuerte>
Información ampliada:
Función para convertir decimal a hexadecimal en VB:
Entrada: Dec( Número decimal)'
Tipo de datos de entrada: Largo'
Salida: D2H (número hexadecimal)'
Tipo de datos de salida: Cadena' p>
Número máximo de las entradas son 2147483647,
El número máximo de salidas es 7FFFFFFFPublicFunction D2H(Dec As Long) As String
Atenuar una como cadena
D2H = ""
Hacer mientras Dec gt 0
<p>a = CStr(Dec Mod 16) Seleccione Caso a Caso "10": a = "A"
Caso "11": a = "B"
Caso "12 ": a = "C"
Caso "13": a = "D"
Caso "14": a = "E"
Caso " 15": a = "F"
Selección de fin
D2H = a amp; D2H
Dec = Dec \ 16 Función LoopEnd