conversão para binário | ZWAME Fórum
Discussão em 'Programação' iniciada por Shadowtruth, 10 de Novembro de 2007. (Respostas: 6; Visualizações: 3037)
tava aqui a brincar um bocado com java e... não sei porque este programa não está a funcionar alguem me consegue explicar? podia ir procurar por um programa de conversão decimal para binaria mas não é isso que quero.. gostava era de perceber porque é que uma coisa aparentemente tão simples não funciona (deve estar a faltar-me algum conceito dos arrays)
import static pt.ua.prog.WIO.*;
public class binario
int div, resto, i=0, numero;
int[] binario;
numero=readInt("Número: ");
div=numero;
}while(div!=0);
binario = new int[i];
for(i=0; numero!=0; i++)
resto=numero%2;
binario[i]=resto;
while(binario[i]==0)
for(i=i; i!=binario.length; i++)
writeInt(binario[i]);
Mais simples que isso:
n = readInt("Número: ");
simplicity at it's finnest
vou ser sincero não conhecia este código, realmente dá jeito dá
ja agora tambem não ha para Hexadecimal não?
System.out.println(Integer.toHexString(n));
LOL obrigado... mas eu queria era mesmo saber porque é que o meu programa não funciona
A ideia era mesmo ser ele a implementar, mas enfim.
Assim de repente, o teu código tem alguns problemas. Um dos que me parece mais evidente é o método que tu utilizas para determinar a dimensão do array que vai conter o número em binário. A dimensão do teu array não é simplesmente o número de digitos que o teu número tem. Por exemplo, para o número 20, tu estás a inicializar um array de duas dimensões quando na verdade o número 20 em binário (10100) necessita de mais. Outro dos problemas tem a ver com a forma como estás a "imprimir" o número em binário, pois devias começar pelo fim do array(i.e. i = binario.length - 1).
tsk tsk... pois... obviamente... muito obrigado... ás vezes uma pessoa fica tanta tempo á frente da mesma coisa que já nem ve o obvio