A partir de VFP 6 podemos pasar un número hexadecimal a decimal de una forma directa. Por ejemplo queremos convertir el número hexadecimal "FFFF" al sistema decimal:
? 0xFFFF
De la misma manera podemos pasar un número decimal al sistema hexadecimal utilizando la función TRANSFORM()
lnDec = 123 ? TRANSFORM(lnDec,"@0")
A partir de esto, creamos las correspondientes funciones definidas por el usuario, que nos permiten la conversión de números de un sistema a otro:
*-------------------------------------------- FUNCTION Hex2Dec(tcHex) RETURN EVALUATE("0x"+ALLTRIM(tcHex)) ENDFUNC *-------------------------------------------- FUNCTION Dec2Hex(tnDec) RETURN SUBSTR(TRANSFORM(tnDec,"@0"),3) ENDFUNC *--------------------------------------------
Luis María Guayán
Estimado Sr. Luis
ResponderBorrarTengo una cadena numérica de una longitud de 52 dígitos.. al aplicar un algoritmo base 16 para convertirlo a hexadecimal tropecé con el problema de la longitud numérica... podría ayudarme con esto?