Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
CLAITOK

Converter Numeros Binários Em Decimais Em C

Recommended Posts

aí galera ,

tô passando sufoco pra fazer um código fonte que

calcule a conversão de um numero binário de 8 bits para decimal.

Além do valor numérico o programa, quando executado, deve retornar o numero por extenso!

Por exemplo:

Entre com um nro em binario (até 8 bits): /

/solicita ao usuário a entrada

11111111

Resultado:

//saída do programa

255 (duzentos e cinquenta e cinco)

eu já fiz uma parte aqui , mas tá incompleto

e no minimo errado


#include <string.h>
#include <stdio.h>
#include <math.h>

int i,dec,nbinario[8];
main(){
i=0;
dec=0;
printf("\nDigite um numero binario de 8 bits ");
scanf("%d",&nbinario);
/* faz a conversao de binario para
decimal , usando multi. e eleva a potencia,
e depois joga o resultado da soma de todas
as casas numa string..*/
for (i=7;i<0;i--)
{
nbinario[i] = nbinario[i] * 2;
nbinario[i] = ######(nbinario[i],i);
dec=dec + nbinario[i];
}
printf("%i",dec);
scanf(" ");}

ele está sempre me retornando ZERO , o que eu fiz errado???

tO MEIO NA DÚVIDA COM AQUELE SCANF. MAS me digam o que fiz errado!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado Originalmente por CLAITOK@18 abr 2004, 23:59

scanf("%d",&nbinario);

Acho que o erro tá no scanf mesmo porque o vetor numerico é diferente do vetor de caracteres...o vetor numerico lê cada posição de uma vez.

EX: um vetor de dois elementos

for(int i=0;i<2;i++)

scanf("%i",vet);

no caracter isso não acontece...pois cada caracter é uma posição, ou seja, pode-se digitar uma frase toda só com um scanf.

EX: um frase

gets(frase); //com a string.h

ou

scanf("%s",frase);//com stdio.h

OBS: em p o w(2,(TAMANHO-1)-i)

'p o w' é junto...não coloquei porque aparecia um monte de ###### ^_^

#include <stdio.h>

#include <math.h>

#include <string.h>

void main( void )

{

  int TAMANHO,decimal=0;

  char *binario;

  gets(binario);

  TAMANHO = strlen(binario);

  for(int i=0;i<TAMANHO;i++)

           decimal = (binario-48)*p o w(2,(TAMANHO-1)-i) + decimal;

  printf("%i",decimal);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×