Conversão números decimais fracionários p/ Binario

0 respostas
M

Pessoal,

Preciso fazer um programa que converta números decimais fracionários para binário e vice versa, o programa que fiz abaixo nao esta fazendo esta função, gostaria da ajuda de voces.

import javax.swing.*;

public class ExercicioArley

{

public static void main (String args[])

{

int base,numero,tamanho,acum,contador,loop,valor;

String binario;

double acum2,valor_decimal;
binario = “”;

contador=0;

acum=0;

acum2=0;

tamanho = 0;

valor_decimal=0;

base = 2;
while ((base==0) || (base==2)|| (base==10))

{

numero = Integer.parseInt(JOptionPane.showInputDialog(Entre com o numero a ser convertido));

base = Integer.parseInt(JOptionPane.showInputDialog(Qual é a base do número " + numero + " (2 ou 10)));
if ((base!=2) && (base!=10))

{

JOptionPane.showMessageDialog(null,base + " não é uma base compatível");

}

else

{

if (base ==10)

// resolve os números decimais.

{

valor = numero;

binario = “”;

while((valor/2)>=1)

{

acum = valor%2;

binario = acum + binario;

valor = valor / 2;

if (valor == 1)

{

binario = “1” + binario;

}

}

System.out.println(“O numero " + numero + " base(” + base + “)” + " - " + binario + “\n”);

<a href="//JOptionPane.showMessageDialog">//JOptionPane.showMessageDialog</a>(null,"O número convertido em binário é " + binario);

}

else

{

// resolve os números binários.
String bin2 = String.valueOf(numero);

tamanho = bin2.length();

loop=0;

acum2 = 0;

while (contador!=tamanho)

{

tamanho;

int x = Integer.parseInt("" + bin2.charAt(tamanho));

valor_decimal = x * (Math.pow(2,loop));

acum2 = acum2 + valor_decimal;

loop++;

}

<a href="//JOptionPane.showMessageDialog">//JOptionPane.showMessageDialog</a>(null,"O valor em decimal é de " + acum2);

System.out.println(“O numero " + numero + " base(” + base + “)” + " - " + acum2 + “\n”);

}
}

}

}

}
Criado 4 de maio de 2006
Respostas 0
Participantes 1