Conversão decimal para binário e vise-versa

2 respostas
M

[b]DecimalParaBinario2.java - Crie um programa que recebe uma lista de números inteiros positivos decimais (0-9)*, terminada a conversão digitar ?1 para sair do algoritmo, e imprime para cada número n a seqüência de 0s e 1s que formam os bits (do mais significativo para o menos significativo) deste número representado em binário, a seqüência de bits deve ser apresentada na mesma linha e concluída por ?\n?. Use o método print para imprimir cada um dos bits, e o método println para pular de linha.

Exemplo:

Entrada[color=white]----------[/color]Saída
2[color=white]-----------------[/color]10
5[color=white]-----------------[/color]101
15[color=white]----------------[/color]1111
259[color=white]--------------[/color]100000011
-1[/b]

2 Respostas

M

import javax.swing.JOptionPane;

public class binaedeci{

public static void main (String Args[]){

int num,base;
num = Integer.parseInt( JOptionPane.showInputDialog( "Entre com o número a ser convertido:" ) );  
    base = Integer.parseInt( JOptionPane.showInputDialog( "Qual é a base do número"+num+"? (2 ou 10)" ) );  

    if(base==2){  
        String bin = Integer.toString( num, 2 );  
        JOptionPane.showMessageDialog( null, "O número " + num + "(10) na base(2)é ? " + bin );  
    }  
    else{  
        if(base == 10){  
            String bin = Integer.toString( num, 10 );  
            JOptionPane.showMessageDialog( null , "O número" + num + "(2) na base (10) é " + bin );  
        }  
        else{  
            JOptionPane.showMessageDialog( null , base + " Não é uma base compatível" );  
        }  
    }  
}

}

obs: COMO EU BOTO PRA ELE GUARDAR OS VALORES E DEPOIS QUE EU PEDIR PRA SAIR ELE MOSTRAR AS CONVERSÕES??

OBRIGADO!!

M

Primeiramente sempre que for postar um código coloque-o dentro da tag CODE fica melhor para ler.

Você terá que colocar seu código em um loop até a opção sair ser informada.
Pode ser um do while ou um whilemesmo

tenho algo se conversão de binário aqui…

String binario = "10101"; // 5 decimal
		int total = 0;
		
		for (int i = 0; i < binario.length(); i++)
			if( binario.charAt( binario.length() - 1 - i) == '1' )
				total += Math.pow(2, i);

		System.out.println( total );
Criado 14 de março de 2012
Ultima resposta 14 de mar. de 2012
Respostas 2
Participantes 2