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: 396 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 |
VB.NET - Como retornar o tamanho de uma string em VB.NET usando a propriedade Length da classe String |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |