Ripper 0 Denunciar post Postado Abril 16, 2012 Pessoal preciso converter de binário para decimal. Já fiz isso: public static void ConverterDeDecimalParaBase ( int base, int numero, String numStr ){ int resto = 0, expoente = 0; while (numero > 0){ resto = numero%base; int valor = ConverterParaCaracter( resto ); numStr = valor * Math.pow(10, expoente); expoente = expoente + 1; numero = numero/base; } } Porém não sei terminar. Por favor me ajudem. Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Abril 16, 2012 Use :seta: parseInt parseInt( "1100110", 2 ); // returns 102 Compartilhar este post Link para o post Compartilhar em outros sites
Ripper 0 Denunciar post Postado Abril 17, 2012 Não posso usar isso no meu trabalho. Tem que ser manualmente mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Abril 17, 2012 Primeiro você vai ter que aprender a fazer a cálculo manualmente para então saber como resolver isso. É fácil. veja: http://pt.wikipedia.org/wiki/Sistema_bin%C3%A1rio_(matem%C3%A1tica)#Bin.C3.A1rios_a_decimais Compartilhar este post Link para o post Compartilhar em outros sites
Ripper 0 Denunciar post Postado Abril 17, 2012 Isso eu já sei, mas não to conseguindo implementar. Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Abril 18, 2012 Um exemplo básico para você pegar o jeito :thumbsup: public class BinaryToDecimal { public static void main( String args[ ] ) { System.out.println( convert( "010101011001" ) ); } public static int convert( String binary ) { String bin[ ] = binary.split(""); int count = bin.length; int sum = 0; int i = 1; for( int x = ( count - 2 ); i < count; x-- ) { sum += ( Integer.parseInt( bin[ i ] ) * Math.pow( 2, x ) ); i++; } return sum; } } Compartilhar este post Link para o post Compartilhar em outros sites
Ripper 0 Denunciar post Postado Abril 20, 2012 valeu Carlos Coelho, mas tenho de seguir os seguintes passos: O processo de conversão é idêntico para todas as bases e consiste do conjunto de operações listado abaixo: i. Obter o resto da divisão inteira do número a ser convertido () pela base alvo (binária, octal ou hexadecimal). Para isso, poderá ser utilizado o operador de módulo (%), ii. Converter o valor do dígito para seu símbolo correspondente. Para isso, utilizar a função “ConverterParaCaracter”, iii. Concatenar o símbolo numa “string” (vetor de caracteres). Para isso, pode ser utilizado o parâmetro NumStr, iv. Atualizar o valor a ser convertido como sendo o quociente da divisão inteira do número atual pela base, no Pascal pode-se utilizar o operador “DIV”), Compartilhar este post Link para o post Compartilhar em outros sites