La verdad es que no sé en qué navegadores funciona, pero lo usé varias veces para convertir a binario, en códigos que eran para
IE.
Probé tu código con el 255, y me aparecen números. En la "segunda vuelta" empieza otra vez de "0". Me parece que se puede calcular los restos con %.
Este ejemplo creo lo saqué del foro.
Código:
<script>
function convierte(){
var valoresHexa = "0123456789ABCDEF";
decValor=entrada.value;
conDec=valoresHexa.charAt(parseInt(decValor /16/16/16%16)) + valoresHexa.charAt(parseInt(decValor /16/16%16)) + valoresHexa.charAt(parseInt(decValor /16%16)) + valoresHexa.charAt(decValor %16)
salida.value=conDec;
}
</script>
<input id=entrada onblur="convierte()" /><input id=salida />
aunque hay que saber de antemano la cantidad de "dígitos".
En algún lado debe haber un tutorial de toString(), pero los que yo vi no decían nada del límite inferior.