Convertendo Números Decimais para Binários em Java
Acho que a maioria dos usuários que acessam o blog já leram a página de About… e se repararam bem a idéia do blog é simples, ajudar, mais nada, só isso, mas infelizmente vemos algumas coisas no caminho que chegam até a desanimar, na informática existem algumas pessoas (porque não podemos chamá-las de profissionais) que se acham melhores que os outros e superiores em tudo que fazem, mas só fica por aí…
Hoje aconteceu uma cena no mínimo hilária na sala de aula, que não convém ao caso falar, mas ela me motivou falar um pouquinho antes de postar a função…
- Modo Iterativo
public static String cBinario(int n){
ArrayList resto = new ArrayList();
while (n != 0){
resto.add((n%2)+"");
n = (int)(n/2);
}
String res = "";
for (int i=resto.size()-1;i>=0;i--){
res += resto.get(i);
}
return res;
}
- Modo Recursivo
public static String cBinarioRec(int n){
String ret="";
if (n > 0){
ret += cBinarioRec(n/2)+n%2;
}
return ret;
}
Exemplo de Utilização:
public static void main (String args[]){
int num = 69;
System.out.println(cBinario(num));
System.out.println(cBinarioRec(num));
}
Caso tenham alguma dúvida comentem…
Esse código parece ser bem simples, e na verdade até que é, mas nossa… na primeira vez que fiz deu um pouco de trabalho
Recursividade não é tão fácil de se fazer, mas também quando consegue…