Ir para conteúdo
Fórum Script Brasil
  • 0

Multipliacador de numeros binários em C com erro


xMtAx

Pergunta

Olá, estava criando um multiplicador binário, mas quando ele mostra o resultado, sempre dá 0.

Só coloquei a função, pois esta recebe 1 vetor contendo o número binário (vet1, o multiplicando), um vetor para armazenar o resultado (vet3) e o multiplicador (n).

ci seria o Carry In e co seria o Carry Out.

Abaixo segue o código:

int multid (int vet1 [], int vet3[], int n){
  int cont, cont2, cont3, ci, co;
      ci=0;
      co=0;
                 
      for (cont2=n; cont2>=0; cont2--){
          ci=0;
          co=0;       
          
          for (cont=9; cont>=0; cont--) {
              if (ci == 0){
                 vet3[cont] = vet3[cont]+vet1[cont];
                 if (vet3[cont]==2){
                    vet3[cont] = 0;
                    co = 1;
                    ci = co;
                 }else{
                    if (vet3[cont]+vet1[cont]==1){
                        vet3[cont] = 1;
                        co = 0;
                        ci = co;
                    }else{
                        vet3[cont] = 0;
                        co = 0;
                        ci= co;    
                    }
                 }
              }else{
                   vet3[cont]= vet3[cont]+ vet1[cont] + ci;
                   if (vet3[cont]==3){
                      vet3[cont]= 1;
                      co = 1;
                      ci = co;
                   }else{
                        if (vet3[cont]==2){
                           vet3[cont]= 0;
                           co = 1;
                           ci = co;
                        }else{
                             vet3[cont]=1;
                             co = 0;
                             ci = co;
                        }                
                   }                  
              }   
          }
      }
    for (cont3=0; cont3<=9; cont3++) {
                   printf ("%d", vet3[cont3]);     
              }
              printf ("\n");
return;
}

Obrigado desde já :)

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...