22 de marzo de 2000

Conversión de hexadecimal a decimal

Conversión de hexadecimal a decimal
*------------------------------------------------
FUNCTION _Hex2Dec(cHexa)
*------------------------------------------------
* Transforma un número hexadecimal a decimal
* USO: _Hex2Dec(cHexadecimal)
* RETORNA: Numérico
*------------------------------------------------
  LOCAL lnFinal, lnDecimal, lnI, lnPeso, lnAsc
  cHexa = UPPER(ALLTRIM(cHexa))
  lnFinal = LEN(cHexa)
  lnDecimal = 0
  FOR lnI = lnFinal TO 1 STEP -1
    lnAsc = ASC(SUBS(cHexa,lnI,1))
    lnPeso = IIF(BETWEEN(lnAsc,48,57),lnAsc-48,lnAsc-55)
    lnDecimal = lnDecimal + lnPeso * 16^(lnFinal - lnI)
  ENDFOR
  RETURN lnDecimal
ENDFUNC

Luis María Guayán

No hay comentarios. :

Publicar un comentario