Viendo que no se animan, no tengo mas remedio que dejar aqui la solucion, para las h4xoRs Desconfiados. Un gusto en compartirlo con vosotros:
/* AUTOR: d3n3k4 (Dnk!)
* FECHA: 30/NOV/2010
* DESCRIPCION:
* - AnyDecimalToBaseN: Convierte un numero decimal a otro en Base N "2..36"
* - AnyBaseNToDecimal: Convierte un numero en Base N "2..36" a otro decimal
* USO:
* String var = AnyDecimalToBaseN(334,2);
* long var = AnyBaseNToDecimal("334",16);
* NOTA: Este codigo es libre y puede ser usado,modificado... siempre y cuando se
* mantenga los creditos y comentarios del autor.
*/
public class conversorNBases {
public static String AnyDecimalToBaseN
(long numero,
int base
) { long potMax = 0,res = 0;
while (numero
>=Math.
pow(base, potMax
+ 1)) potMax++;
while (potMax >= 0) {
res
= numero
/(long)Math.
pow(base, potMax
); if (res > 9)
resultado += (char)(res+55);
else
resultado += res;
if (numero
>= Math.
pow(base, potMax
)) numero
= numero
%(long)Math.
pow(base, potMax
); potMax--;
}
return resultado;
}
public static long AnyBaseNToDecimal
(String numero,
int base
) { long resultado = 0;
char[] V_numero = numero.toCharArray();
for (int i = 0; i < V_numero.length; i++) {
resultado = resultado * base;
resultado
= resultado
+ Character.
getNumericValue(V_numero
[i
]); }
return resultado;
}
}
xDnk!