Buscar

fazer um alg que convert numeros binarios em decimais

porem nao tenho a minima ideia de como fazer pois nao tive aulas sobre binarios e tals pois entrei no segundo semestre algem pode me ajudar pra clarear as minhas ideias

💡 6 Respostas

User badge image

Estudante PD

Leia: http://pt.wikihow.com/Converter-N%C3%BAmeros-Bin%C3%A1rios-em-Decimais

D
epois recomendo realizar a leitura de uma string contendo o numero em binário, e aplicar o algoritmo acima

Abx

2
Dislike0
User badge image

Ciro Meneses



#include <stdio.h>  //printf
#include <string.h> //strlen
#include <stdint.h> //uintX_t or use int instead - depend on platform.

/* reverse string */
char *strrev(char *str){
    int end = strlen(str)-1;
    int start = 0;

    while( start<end ){
        str[start] ^= str[end];
        str[end]   ^= str[start];
        str[start] ^= str[end];
        ++start;
        --end;
    }
    return str;
}


/* transform binary string to integer */
uint32_t binstr2int(char *bs){
    uint32_t ret = 0;
    uint32_t val = 1;

    while(*bs){
       if (*bs++ == '1') ret = ret + val;
       val = val*2;
    }
    return ret;
}

int main(void){
    char binstr[] = "11"; //1428875423
    char s[200];

    scanf("%s", s);
    printf("Binary: %s, Int: %d\n", s, binstr2int(strrev(s)));

    system("pause");
    return 0;
}

1
Dislike0
User badge image

Andre Smaira

Para responder essa pergunta devemos colocar em prática nosso conhecimento sobre Algoritmo e Estrutura de Dados.


#include<stdlib.h>

#include<stdio.h>

#include<math.h>

int main()

{

int bin, dec = 0, i;

printf(" Entre um numero binario: ");

scanf("%d", &bin);

for(i = 0; bin > 0; i++)

{

dec = dec + pow(2, i) * (bin % 10);

bin = bin ⁄ 10;

}

printf(" O equivalente do numero em decimal é: %d ", dec);

return 0;

}


Portanto, o algoritmo acima consegue realizar a conversão de qualquer número binário em um número na base decimal, conforme o solicitado.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis


✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Perguntas relacionadas

Materiais relacionados

Materiais recentes

Perguntas Recentes