Boa tarde,
estou precisando fazer um exercicio de java que tem que transformar um numero decimal para binario.
Verifiquei a formula para fazer isso, porem cada numero tem que ser elevador a potencia de maneira diferente, alguem saberia me dizer se existe algum comando no java que me faca um numero ficar particionado em unidades?
ex
25667
2 5 6 6 7
e outra duvida mais simples ainda, como estou seguindo a postila caelum, eles ainda nao chegaram na parte de receber do teclado, alguem pdoeria me informar o comando que recebe dados do teclado e o escopo dele de onde coloco a variavel que ira receber esse dado.
Vc poderia converter para string, converter então para um array de chars e depois converter cada char para int, interativamente.
P
pedrolima88
eh ate que seria uma boa ideia, porem faria isso no casting? int para String eh aceito no casting? :S
valeu!
mario.fts
usa
Integer.toString(arg0);
onde arg0 é o int que vc quer converter.
rmendes08
Esquece isso … é complicar à toa. Se o que você precisa mesmo é fazer a conversão de decimal para binário a melhor maneira é você efetura divisões sucessivas até o resultado der 0 e pegar os restos das divisões. Para fazer a entrada do teclado dê uma olhada na classe java.util.Scanner.
peczenyj
é claro que trabalhar com potencias de 2, %, / e - iterativamente ninguem quer
M
mezini
Pedro,
tente
Integer.toBinaryString(numeroemdecimal)
no caso da leitura dos dados do teclado, aconselho a usar a classe Scanner como o amigo acima citou.
Agradeco a todos pelo comando de binary, que com certeza iria aliviar minha vida.
Porem olhem o exercicio:
Escreva um programa em Java que leia um número a partir do teclado e escreva seu valor binário. Atenção !!! É objetivo da questão que você implemente o algorítimo de escreve o número binário.
acredito que seja necessario pegar o numero digitado e dividr por unidade :T
alguem teria ideia de como poderei dividir ele por unidades?
valeu!
P
pedrolima88
mario,
como acessarei o string da posicao 1?
fiz o comando coforme me passou, porem na hora de imprimir ele imprime normalmente como se fosse o int. porem como posso acessar o bloco 1 desse string?
valeu!
mario.fts
pedrolima88:
mario,
como acessarei o string da posicao 1?
fiz o comando coforme me passou, porem na hora de imprimir ele imprime normalmente como se fosse o int. porem como posso acessar o bloco 1 desse string?
Mario,
valeu cara! naosabia que podia usar length sem ser em array ^^
bom vou tentar aqui, muito obrigado! pelo site tambem!
[]'s
victorwss
Porque que as pessoas tem tanto medo de matemática?
A forma mais simples é usar os operadores "/" e "%".
A melhor forma (e um tanto complicada e avançada) é usar os operadores ">>" e "&".
claudneto
pedrolima88:
Mario,
valeu cara! naosabia que podia usar length sem ser em array ^^
bom vou tentar aqui, muito obrigado! pelo site tambem!
[]'s
O length funciona da mesma forma pra String ou vetor, mas é diferente.
String s = "Hello World!";
int x = s.length(); //Pra String, o length é um método. Retorna 12;
int[] vetor = new int[10];
int y = vetor.length; //Pra vetor, o length é um atributo (eu acho). Retorna 10;
P
pedrolima88
hmmmmm
se parecem^^
soh a pratica para lembrar mesmo… valeu pessoal
T
thingol
victorwss:
Porque que as pessoas tem tanto medo de matemática?
A forma mais simples é usar os operadores "/" e "%".
A melhor forma (e um tanto complicada e avançada) é usar os operadores ">>" e "&".
As pessoas aprendem que não saber matemática é aceitável e até mesmo “chique”.
Isso é pior com as meninas, mas os meninos também não são incentivados a saber matemática.
E conversão de bases não envolve nada avançado, basta simples divisões.
Acho que aritmética modular deveria ser ensinada antes na escola, e com coisas mais concretas. Até hoje é difícil ver alguém que saiba fazer contas com horas, minutos e segundos direito.
Com esse código você pode tanto digitar 10 inteiros separados por espaços e pressionar ENTER ou digitar cada número em uma linha. Funciona dos dois jeitos.
Quanto ao algoritmo, acredite, é bem mais fácil pegar os restos das divisões por 2.
P
pedrolima88
Hehe sem duvidas!
usando o mod e invertendo a posicao dos resultados obtive o resultado do meu programa