Buscar

pergunta

Um valor binário pode ser representado no padrão conhecido como BCD 8421 ( Binary-coded Decimal – Decimal Codificado em Binário). Nesta codificação, os valores 8421 representam o resultado de 2 i , onde i denota a posição do dígito dentro da palavra. Por exemplo, 1001 (2) = 1*8 + 0*4 + 0*2 +1*1 = 9 (10) . Para essa questão, suponha o seguinte código recursivo:

 

#include <stdio.h>

#include <string.h>

 

int Bin2Dec(char bin[],int pos,int exp)

{

 if(____) return 0;

 return (bin[pos]-48)*exp + Bin2Dec(bin,____,____);

}

 

int main()

{

 char binario[9]="10011101"; //valor em decimal = 157

 printf("Valor convertido: %d", Bin2Dec(binario,strlen(binario)-1,1));

 return 0;

}

 

Assinale a opção abaixo que contenha os trechos de código para preencher as lacunas:

.  pos<0 ; pos-1 ; exp/2 .. !pos ; pos+1 ; exp*2 ..  pos<0 ; pos-1 ; exp*2 .. !pos ; pos-1 ; exp*2 ..  pos<0 ; pos+1 ; exp*2 .

💡 5 Respostas

User badge image

nelson gabriel braga do nascimento

RESPOSTA: . pos <0 ; pos-1 ; exp*2 .

5
Dislike0
User badge image

Arianne Michelle

RESPOSTA: . pos <0 ; pos-1 ; exp*2 .


explicação: Parabéns! Sua resposta foi a correta! Realmente o código foi implementado para que a última posição fosse evocada antes para facilitar o cálculo do expoente – à medida que se aproxima da posição 0 (início do vetor – posição mais significativa do número binário), o expoente vai sendo multiplicado por 2. Sendo assim, a posição foi descrementada a cada evocação da função recursiva. A posição 0 do vetor também deveria ser manipulada – essa a razão do ( pos<0).

2
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais