Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Como converter de binário para decimal em C usando o laço for - Desafio de Programação Resolvido em CQuantidade de visualizações: 591 vezes |
|
Pergunta/Tarefa: Escreva um programa C que usa o laço for para converter um número binário (como uma String) em sua representação decimal (como um int). Peça ao usuário para informar um número binário e mostre o mesmo em decimal (como um int). Sua solução deve obrigatoriamente usar o laço for. Sua saída deverá ser parecida com: Informe um número binário: 1100 A representação decimal do valor binário 1100 é 12 Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
char binario[80], char_temp[2];
int decimal, i, expoente, temp;
// vamos ler o número binário (como uma String)
printf("Informe um número binário: ");
gets(binario);
// guarda a representação decimal
decimal = 0;
// inicializa o expoente
expoente = strlen(binario) - 1;
// vamos percorrer todos os dígitos do número binário começando do início
for(i = 0; i < strlen(binario); i++){
// converte o caractere atual para inteiro
char_temp[0] = binario[i];
temp = atoi(char_temp);
decimal = decimal + (temp * (int)pow(2, expoente));
// reduz o expoente
expoente = expoente - 1;
}
// mostramos o resultado
printf("O valor decimal é: %d", decimal);
printf("\n\n");
system("PAUSE");
return 0;
}
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





