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
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
2
Resposta:
pos<0 ; pos-1 ; exp*2
Explicação passo a passo:
Perguntas interessantes
Matemática,
7 meses atrás
Matemática,
7 meses atrás
Sociologia,
7 meses atrás
Ed. Física,
9 meses atrás
Inglês,
9 meses atrás
Filosofia,
1 ano atrás