Programa para conversão de decimal para binário

1. Programa para conversão de decimal para binário

Álvaro
avr1456

(usa Ubuntu)

Enviado em 09/09/2016 - 01:07h

Olá pessoal, gostaria de pedir ajuda a vocês, sou iniciante nessa área e por isso queria uma ajuda de alguém para conseguir fazer um algoritmo de conversão de decimal para binário, Peço desculpas a possíveis "noobices" mas estou realmente no começo da faculdade e tentei o meu melhor e não consigo, pesquisei, descobri atoi e outros macetes, foi até aqui onde consegui, montar esta estrutura:
#include <stdio.h>
#include <stdlib.h>

void decimal_binario(int dec_bin);

int main(){

int dec_bin;

printf("Digite o valor Decimal a ser convertido: ");
scanf("%d", &dec_bin);

decimal_binario(dec_bin);

return 0;


}

void decimal_binario(int dec_bin)
{
int vet[10], resto=0, i, cont=0;
while(dec_bin >=2)
{
resto=dec_bin%2;
dec_bin/2;
for (i=0;i<10;i++)
{
vet[i]=resto;
}
cont++;
}

for (cont=cont;cont=0;cont--)
{
printf("O numero em binario fica: %d", vet[cont]);
}
}

Se puderem ajudar desde já agradeço.




  


2. Re: Programa para conversão de decimal para binário

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/09/2016 - 01:22h

Bem, é só você fazer um cálculo destes no papel e analisar todo o procedimento.

Quando se faz no papel, percebe-se que as divisões geram os algarismos de trás para frente.

Este é o problema. Faça vários testes no papel.

Com números que geram binários simétricos e assimétricos.

0 = 0
3 = 11
4 = 100
7 = 111
11 = 1011
13 = 1101
31 = 11111 e por aí vai ...

Perceba então que para exibir os algarismos é necessário colocá-los ao contrário no vetor.

A menos que seu professor restrinja, seria melhor usar um array de caracteres para armazenar os zeros e uns.

Ocupa menos espaço.

Outra coisa que você poderia na teoria fazer era usar funções de logaritmos para calcular a quantidade de elementos do array.

É simples, apenas o uso de uma função matemática e uma continha. Mas pode ficar para depois.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts