Convertir Decimal negativo a Hexadecimal

3,079 views
Skip to first unread message

Ariel

unread,
Nov 21, 2016, 12:54:24 PM11/21/16
to Comunidad de Visual Foxpro en Español
Buenos días, estoy teniendo un problema para convertir un numero decimal en Hexa. El numero decimal es -16256 y deberia quedar en hexa como ‭FFFFFFFFFFFFC080‬.
Utilizando varias funciones que encontré y hasta algunas paginas de conversión, me devuelve un hexa erroneo.

Por ejemplo esta función que la saque de la pagina de la comunidad  (modifique el DO WHILE para que acepte números negativos)

*------------------------------------------------
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
*------------------------------------------------


Me retornar D180, que equivale a 53632 decimal.
Alguien tendrá alguna función que me funcione decimales de 5 cifras y negativos?


Desde ya muchas gracias


Luis Maria Guayan

unread,
Nov 21, 2016, 2:49:17 PM11/21/16
to publice...@googlegroups.com

Mira si esto te ayuda

? TRANSFORM(-16256, "@0")


Luis María Guayán
Tucumán, Argentina
_______________________________
Comunidad Visual FoxPro en Español
http://comunidadvfp.blogspot.com

El 21/11/16 a las 14:54, Ariel escribió:

Ariel Octavio D'Alfeo

unread,
Nov 22, 2016, 7:19:52 AM11/22/16
to publice...@googlegroups.com
Funciono Perfecto! gracias Luis!
--

Ariel Octavio D'Alfeo
Córdoba, Argentina
Reply all
Reply to author
Forward
0 new messages