Classe Scanner e conversões de bases

Ola pessoal, olha aí o código a seguir que usa a classe Scanner para converter para decimal o valor 3199912702 de sua base hexadecimal, binária e octal.

long l1 = new Scanner("BEBACAFE").nextLong(16);
long l2 = new Scanner("10111110101110101100101011111110").nextLong(2);
long l3 = new Scanner("27656545376").nextLong(8);

Legal né?

Você viu como usamos a classe Scanner para fazer conversões de base numéricas de strings corretas para decimal, a questtão agora é, tendo um valor decimal e usando a classe Scanner convertê-lo para as bases hexadecimal, binária e octal. (processo reverso).

Como poderíamos fazer isso… sei que não é difícil

Quem souber dá um grito ae… :lol:

Você não converteu uma string de hexadecimal/binário/octal para decimal. Você converteu uma string hexadecimal/binária/octal para um número (que no computador é representado internamente em binário, mas isso é um detalhe de implementação).

Para converter um número para uma string hexadecimal, binária ou octal, você não pode usar a classe Scanner; você tem de usar a classe java.lang.Long (no seu caso) ou então java.util.Formatter (se quiser usar a notação estilo printf).

ok! é isso mesmo… é que foi digitação mui rápida… Mas é isso mesmo…dá prá usar usar a classe java.lang.Long (no seu caso) ou então java.util.Formatter…

o metodo valueOf das wrappers!! nao fazem isso?