Resultados 1 a 9 de 9

Tópico: Converter Binário para Decimal

  1. #1
    What is folding? Avatar de OxyGen #
    Data do Registo
    15-02-2006
    Local
    Tocha

    Converter Binário para Decimal

    Boas a todos...

    Por acaso alguém me pode ajudar a fazer um programa que converta Binário para Decimal? Já fiz a conversão de decimal para binário mas agora não consigo fazer o contrário...

    Por acaso não há por aí nenhuma alma caridosa que me ajude? Tem de ser uma função que tenha o valor em binário como argumento e depois devolva o valor em decimal...

    Apenas numeros entre 0 e 9...

    Cumps
    Última edição de OxyGen #; 13-05-2010 às 14:25
    A minha assinatura:

    OxyGen #

  2. #2
    num divides e usas os restos... no outro fica o primeiro número * 2^0 + segundo numero * 2^1 + o terceiro numero * 2^2, etc.

    ex: 101 - 1*(2^0)+0*(2^1)+1*(2^2) = 1 + 0 + 4 = 5

    EDIT: Se a dúvida é "como ir buscar o elemento <n>", então o 1º é o resto da divisão por 10, para o segundo divides por 10 e vês o resto da divisão por 10 desse, para o terceiro divides de novo e vez o resto da divisão desse, por aí fora.
    Última edição de errandum; 13-05-2010 às 14:54

  3. #3
    What is folding? Avatar de OxyGen #
    Data do Registo
    15-02-2006
    Local
    Tocha
    sinceramente não estou a perceber minimamente o que queres dizer...

    EDIT:Eu sei converter à mão... o meu problema é no codigo...
    Última edição de OxyGen #; 13-05-2010 às 15:15
    A minha assinatura:

    OxyGen #

  4. #4
    óbvio que vais ter que fazer mais que isto, mas corre este código e vê se entendes:

    Código:
            int binario = 1010101;
            while(binario > 0)
            {
                System.out.println(binario%10);
                binario /=10;
            }
    se for em C, será printf("%d\n",binario%10); em vez do System.out.println. Assumi java, mas não disseste a linguagem.
    Última edição de errandum; 13-05-2010 às 15:31

  5. #5
    What is folding? Avatar de OxyGen #
    Data do Registo
    15-02-2006
    Local
    Tocha
    Sei as 2... quer java quer C....

    implementa isso mais genérico... ou seja sem saberes qual o valor que te vai chegar de uma outra funçao...
    A minha assinatura:

    OxyGen #

  6. #6
    Não percebeste. Eu não estou a fazer o trabalho por ti, só estou a dizer-te como é que vais buscar os valores um a um. Sendo um método, seria:

    Código:
    static void nomeDoMetodo(int binario)
    {
            while(binario > 0)
            {
                System.out.println(binario%10);
                binario /=10;
            }
    }
    óbvio que em vez de fazeres print, se calhar deves ter que fazer algo a ver com as contas que meti ali em cima... Se sabes a teoria, se já tens os valores um a um, com poucas modificações consegues mudar esse ciclo while para converter de binario para inteiro... Eu proponho, por exemplo, um contador para saber qual o expoente ( Math.pow(2,contador) ), por exemplo.

  7. #7
    What is folding? Avatar de OxyGen #
    Data do Registo
    15-02-2006
    Local
    Tocha
    Tipo isto?

    Código:
    unsigned int bin2dec(unsigned char decimal)
    
    {
         int total = 0;
         int peso = 1;
      
         while(decimal > 0)
         {
              total += decimal % 10 * peso;
              decimal = decimal / 10;
              peso = peso * 2;
              }
    
          return total;
    
    }
    Última edição de OxyGen #; 14-05-2010 às 08:23
    A minha assinatura:

    OxyGen #

  8. #8
    Tenho a nítida noção que copiaste o teu anterior de alguém e não fazes puto ideia do que estás a fazer...

  9. #9
    Membro Avatar de zaitz3v
    Data do Registo
    15-09-2007
    Local
    Lisboa
    Boas,

    Esta é a forma mais directa que me lembrei para fazer isto:

    Código:
    unsigned int bin2dec(unsigned int n)
    {
        unsigned int r,m;
    
        for(m=1,r=m&n;m;r^=n&(m<<=1));
    
        return m;
    }
    --
    My other CAR is a CDR.

Tópicos Similares

  1. conversão decimal em binário VB2010
    By mysociety in forum Programação
    Respostas: 6
    Última Mensagem: 09-09-2010, 16:57
  2. [C]Converter um decimal para hexadecimal
    By pedro_gon in forum Programação
    Respostas: 7
    Última Mensagem: 02-04-2009, 17:28
  3. decimal para binario
    By rott in forum Programação
    Respostas: 10
    Última Mensagem: 04-05-2008, 23:24
  4. Respostas: 7
    Última Mensagem: 19-10-2007, 21:46

Registe-se no fórum e active o seu registo para deixar de ver este anúncio.