*Conversión de decimal a hexadecimal
*Autor: Luis Maria Guayán
*------------------------------------------------
FUNCTION _Dec2Hex(nDecimal)
*------------------------------------------------
* Transforma un número decimal a hexadecimal
* USO: _Dec2Hex(nDecimal)
* RETORNA: Caracter
*------------------------------------------------
LOCAL lcHexa, lcChr, lnResto
lcHexa=''
DO WHILE nDecimal > 0
lnResto = MOD(nDecimal,16)
nDecimal = INT(nDecimal / 16)
lcChr = IIF(lnResto < 10,STR(lnResto,1),CHR(lnResto + 55))
lcHexa = lcChr + lcHexa
ENDDO
RETURN lcHexa
ENDFUNC
***********************************************************************************************
*Conversión de hexadecimal a decimal
*Autor Luis Maria Guayán
*------------------------------------------------
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
***********************************************************************************************
*Conversión de decimal a binario
*Autor: Luis Maria Guayán
*------------------------------------------------
FUNCTION _Dec2Bin(nDecimal)
*------------------------------------------------
* Transforma un número decimal a binario
* USO: _Dec2Bin(nDecimal)
* RETORNA: Caracter
*------------------------------------------------
LOCAL lcBinario, lnResto
lcBinario = ''
DO WHILE nDecimal > 0
lnResto = MOD(nDecimal,2)
nDecimal = INT(nDecimal / 2)
lcBinario = STR(lnResto,1) + lcBinario
ENDDO
RETURN lcBinario
ENDFUNC
***********************************************************************************************
*Conversión de binario a decimal
*Autor: Luis Maria Guayán
*------------------------------------------------
FUNCTION _Bin2Dec(cBinario)
*------------------------------------------------
* Transforma un número binario a decimal
* USO: _Bin2Dec(cBinario)
* solo "1's" y "0's"
* RETORNA: Numérico
*------------------------------------------------
LOCAL lnFinal, lnDecimal, lnI
cBinario = ALLTRIM(cBinario)
lnFinal = LEN(cBinario)
lnDecimal = 0
FOR lnI = lnFinal TO 1 STEP -1
lnDecimal = lnDecimal + ;
VAL(SUBS(cBinario,lnI,1)) * 2^(lnFinal - lnI)
ENDFOR
RETURN lnDecimal
ENDFUNC
***********************************************************************************************