Hola de nuevo
Lo he logrado y funciona (verificado con la calculadora de Windows). Para cubrir hasta 11 dígitos decimales se necesitan 10 dígitos hexadecimales.
Código PHP:
function decAhex(dec)
{
dec = parseInt(dec)
var hexChars="0123456789ABCDEF"
var dig = new Array(10)
if (dec >= 1e12 ) { return 'demasiado grande' }
for (k=0; k<10; k++)
{ dig[k] = dec % 16
dec = (dec-dig[k]) / 16
}
var resul = ""
for (k=9; k>-1; k--)
{ resul += hexChars.charAt(dig[k])
}
return resul
}