conversao decimal para binario, hexadecimal e octal!  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Jackie
HelloWorld
[Avatar]

Membro desde: 26/03/2005 10:26:34
Mensagens: 11
Offline

Ola, alguem sabe como fazer a conversao de decimal para binario, hexadecimal e octal, eu precisaria do calculo de conversao, os metodos eu achei, mas meu professor quer o calculo, me ajudem please!
Desde já grato.
[Email] [MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17572
Offline

1) Instale o JDK inteirinho, incluindo src.zip (não é só fazer next, next, next, seu preguiçoso)
2) Descompacte o arquivo java/lang/Integer.java
3) Copie as conversões que estão prontinhas lá dentro...


[WWW]
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

Para converter da base 10 para outra base x

1) Divida o número pela base, o resto é o primeiro dígito, da *direita* para a *esquerda*
2) O resultado da divisão anterior você divide novamente e adiciona o dígito à *esquerda* do dígito anterior
3) Repita esse processo até a divisão for igual a zero (o dividendo é menor que a base)

Lembrando que na base 16, os dígitos vão de 0 a 15, sendo os dígitos de ordem 10 a 15 representados pelas letras A a F, respectivamente.

Exemplo: 666 (base 10) = 29A (base 16), pois:



Para converter de uma base x para a base 10:

1) Enumere os dígitos da *direita* para a *esquerda* começando do zero, como em um array (observe que o último dígito, que é o primeiro da esquerda para a direita, ficará na "posição" n -1, onde n é o número de dígitos)
2) Multiplique cada dígito pela base elevada ao índice correspondente obtido no passo 1.
3) Some os resultados obtidos

Exemplo 29A (base 16) = 666 (base 10), pois:



O mesmo princípio serve para as bases binária e octal, e para converter de uma base x para outra y, primeiro converta de x para 10 e depois de 10 para y, como mostrado. Entendeu?

This message was edited 1 time. Last update was at 04/04/2005 11:50:43

renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

Veja este programa, talvez te ajude
 Nome do arquivo bases.zip [Disk] Download
 Descrição
 Tamanho 125 Kbytes
 Baixado:  6553 vez(es)

This message was edited 2 times. Last update was at 23/02/2009 02:24:28

Jackie
HelloWorld
[Avatar]

Membro desde: 26/03/2005 10:26:34
Mensagens: 11
Offline

Valeu ai galera, eu consegui resolver isto eu fiz o seguinte:

public class Conv_Binario{
String c="";
int b=0;

public void SetBinario(int d){
while((d/2)>=1){
c= d % 2 + c;
d=d/2;
}
c=d+c;
}

public String GetBinario(){
return c;
}
}

e nos outros so troquei pelas base 16 no hex e 8 no octal!


thingol valeu pela dica so q achei os metodos muito complicados, mas e muito interessante! Muito Obrigado ai valeu renato3110!
[Email] [MSN]
cesarmaciel
Smalltalk

Membro desde: 07/04/2006 10:47:02
Mensagens: 2
Localização: Oliveira de Azemeis e Boavista, Portugal
Offline

Alguem me arranja o source code deste programa?
Era realmente urgente.

Cumprimentos
César Maciel
Portugal
[MSN]
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

Dez real rapá!

Trabalho de faculdade?

Esse programa é em Delphi...

cesarmaciel
Smalltalk

Membro desde: 07/04/2006 10:47:02
Mensagens: 2
Localização: Oliveira de Azemeis e Boavista, Portugal
Offline

moço...
queres 10 reais por isso?

cumps
[MSN]
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

Não, é só uma brincadeira

Cumps???
merovingian
Smalltalk

Membro desde: 06/11/2006 16:50:09
Mensagens: 3
Offline

Já está com métodos estáticas, pra facilitar...

lalesan
Debugger
[Avatar]

Membro desde: 29/12/2006 01:21:53
Mensagens: 65
Offline

Renato, vc nem considerou números "com vírgula"
Mas teu prigrama me ajudou bastante, heheheh... tinha que converter 2357 números, agora só faltam 1285 c/ casas decimais...

LL
[Email]
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

Não acredito que você pegou o "prigrama" e converteu à mão mais de 1000 números um a um.
lalesan
Debugger
[Avatar]

Membro desde: 29/12/2006 01:21:53
Mensagens: 65
Offline

Na verdade dei uma boa exagerada, eram só uns 10

Mas era mais p/ conferir, dado que eu tenho que entregar resolvido à mão (cálculo numérico - matéria chaaataaa), como minha calculadora quase show não faz essas conversões, aproveitei que achei o teu "prigrama" quase sem querer e usei...

LL
[Email]
antrofilico
Entusiasta Java

Membro desde: 25/06/2008 22:21:55
Mensagens: 21
Offline

Olá, conheço um site que vai ao encontro de seu interesse:

http://www.calculadoraonline.com.br/view/conversao-decimal.php

Até mais!
thinet
Debugger
[Avatar]

Membro desde: 19/06/2007 12:48:17
Mensagens: 55
Offline

desculpa, mais acho que a calculadora do windows (modo científico) faz essas conversões

 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team