GARANTIR DESCONTO

Fórum [AJUDA] Transformar número decimal em binário! #567337

25/05/2013

0

Preciso de uma ajuda com um exercício que estou fazendo. "Transformar número decimal em binário!" Ele deve usar comandos simples, como meu exemplo, mas ele não está funcionando: import java.util.Scanner; public class binario { public static void main(String[] args) { Scanner input = new Scanner(System.in); int d,x = 0; int[] b = new int[10]; System.out.print("Digite um número: "); d = input.nextInt(); while ( d > 1) { b[x] = d % 2; d = d/2; x++; } for (int cont=b.length-1; cont>=0; cont--) { System.out.print(b[cont]); } } } Alguém pode me ajudar? Tem que seguir os mesmos conceitos simples.
Igor Guilherme

Igor Guilherme

Responder

Posts

25/05/2013

Luis Floriano

Eu aconselharia a guardar cada resto da divisão em um array, pois no final você ter que imprimir de trás para frente. E o seu laço também está infinito, pois o d não está mudando de valor.
while ( d > 1) 
{ 
  b[x] = d % 2; 
  
  d = d/2;

  x++;
} 


for (int cont=b.length-1; cont>=0; cont--){
    System.out.print(b[cont]);
}

Responder

Gostei + 0

25/05/2013

Igor Guilherme

Tem que usar vetor também! Como ficaria com esse seu código?
Responder

Gostei + 0

25/05/2013

Lucas Levi

int decimal = 10;
String binaria = Integer.toBinaryString(decimal);
Isso não serve?
Responder

Gostei + 0

25/05/2013

Igor Guilherme

[quote="xChupaKabrax"]
int decimal = 10;
String binaria = Integer.toBinaryString(decimal);
Isso não serve?
O problema é que tem que ser com códigos simples! Tipo, igual ao que estou fazendo!
Responder

Gostei + 0

31/05/2013

Okabe Rintarou

Conseguiu criar a rotina?
Responder

Gostei + 0

31/05/2013

Igor Guilherme

Tive o mesmo exercício na faculdade, e fiz da seguinte forma:
package Exercicio12;

import javax.swing.JOptionPane;

public class Principal {
	public static void main(String[] args) {
		//Variável com atribuição
		int numero = Integer.parseInt(JOptionPane.showInputDialog("Informe um número: "));
		//Objeto
		ConverterBinario converter = new ConverterBinario();
		
		JOptionPane.showMessageDialog(null, "Binário: " + converter.binario(numero));
	}
}
package Exercicio12;

public class ConverterBinario {
	public String binario (int decimal) {
		
		//Variáveis Auxiliares
		int numero = decimal;
		String binario= "";
		String binariocontrario = "";
		
		//Condição para conversão 
		while (numero != 0) {
			binario += "" + numero%2;
			numero = numero/2;
			System.out.println(numero);
		}
		
		//Como a leitura do binário de trás para frente apos divisão, aqui faz a inversão.
		for (int i = (binario.length()); i != 0; i--) {
			binariocontrario += "" + binario.charAt(i-1);
		}
		//Retorna binário ao contrário
		return binariocontrario;
	}
}
Responder

Gostei + 0

31/05/2013

Igor Guilherme

Ha alguns dias alguém teve a mesma dúvida, postei um exemplo neste tópico aqui: [url]http://javafree.uol.com.br/topic-890425-Programa-Binario.html[/url]
Responder

Gostei + 0

31/05/2013

Igor Guilherme

[quote="igorfguilherme"][quote="xChupaKabrax"]
int decimal = 10;
String binaria = Integer.toBinaryString(decimal);
Isso não serve?
O problema é que tem que ser com códigos simples! Tipo, igual ao que estou fazendo!
Na verdade o código que nosso amigo [b]xChupaKabrax[/b] postou, é a forma simples. Reescrever algo que já existe é complicar as coisas...
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar