Como fazer uma divisao especial!

Como que eu faco pra verificar de um numero tipo 10010 qual e o seu correspondente em numero real, mas o meu problema e o seguinte. Eu nao sei quantos digitos o numero vai conter, somente sei q ele vai ser um numero real.
Tipo assim, ele um hora pode digitar o numero 1001 e o programa mostrara a resposta em numero real. Mas outra hora ele pode digitar 10101010 ou tb 01, entao o meu problema e esse. Se alguem tiver alguma sugestao!!

Abracao e te +

isso aí é um número binário? entao você quer transformá-lo para inteiro, nao? (e nao real)

Supondo que quando ele disse “real” queria na verdade dizer “inteiro”…

Não sei se tem existem métodos para afzer mudança de base, mas aqui vai uma sugestão usando meus poucos conhecimentos da API:

  • transforma em String;
  • começando da direita (menos significativo) vai até o último caracter (medido com .length(), de String);
  • pega cada caracter e transforma em inteiro com os parse, é só procurar na API em Integer ou em String;
  • daí é só ir somando: para 1101 fica 12!0 + 02!1 + 12!2 + 12!3
    (trocando ! pelo exponencial, que não consegui escrever aqui).

Pode não ser o modo mais elegante, mas funciona.

se o problema é mudar a base então é só usar o metodo statico Integer.valueOf(String,base) do Wrapper Integer…

Ex: Converter o numero binario 0011 para decimal -->
Integer.valueOf(“0011”,2);

falow…

E isso mesmo!

Abracao e te +