Matemática, perguntado por gabrielsantosm52, 9 meses atrás

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
#include

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 ; pos+1 ; exp*2 .
. pos<0 ; pos-1 ; exp*2 .
. pos<0 ; pos-1 ; exp/2 .
. !pos ; pos-1 ; exp*2 .
. pos<0 ; pos+1 ; exp*2 .

Soluções para a tarefa

Respondido por tleao
16

Resposta:

resposta correta

pos<0 ; pos-1 ; exp*2

Explicação passo-a-passo:

a aplicação dessa resposta no compilador da justamente o valor esperado para conversão 157

Respondido por walterpitax
2

Resposta:

pos<0 ; pos-1 ; exp*2

Explicação passo a passo:

Perguntas interessantes