Questão de Programação — Linguagens de programação — CESGRANRIO 2022
ProgramaçãoLinguagens de programação
- Código
- cg016669
- Banca
- CESGRANRIO
- Órgão
- Banco da Amazônia
- Ano
- 2022
- Nível
- Superior
- Cargo
- Técnico Científico - Tecnologia da Informação
Uma função, chamada converte, tem por objetivo converter um número inteiro na base decimal (d), recebido como parâmetro, em um número inteiro na base binária (b), isto é, um número que seja formado apenas pelos algarismos 0 e 1, como nos exemplos abaixo.Exemplos:converte(7) = 111 converte(12) = 1100 converte(16) = 10000Admita que o inteiro (d), recebido como parâmetro, é tal que d>=0 e d<=1024.Qual função executa essa conversão corretamente?
- Astatic long converte(int dec) {if(dec == 0)return dec;long r=converte(dec/2);return dec % 2 + r * 10;}
- Bstatic long converte(int dec) { long bin=0; while(dec > 0) { int r= dec % 2; dec=dec / 2; bin+=r << 2; } return bin; }
- Cstatic long converte(int dec) { if(dec > 0) return dec; long r=converte(dec%2); return dec / 2 + r * 10; }
- Dstatic long converte(int dec) { long bin=0,fat=1; do { int r=dec % 2; dec=dec/2; bin+=r * fat; fat*=10; } while(dec >= 0); return bin; }
- Estatic long converte(int dec) { long bin=0; for(long fat=1; dec > 0; fat*=10) { int r=dec % 2; dec=dec / 2; bin+=r * fat; } return bin; }