Questão nº 21
Questão de Tecnologia da Informação · FGV TJ-MS 2024 (nº 21)
Um analista do TJMS está atualmente engajado na elaboração de um sistema de criptografia. Esse sistema é notável por sua utilização de representações de dados em binário, hexadecimal e decimal, juntamente com a implementação de operações de aritmética computacional. Ao conduzir um teste, o analista identificou um padrão específico para a codificação de mensagens, descrito da seguinte forma:
- inicialmente, um número na forma decimal é convertido para sua equivalência binária;
- posteriormente, esse número binário é transformado para o formato hexadecimal;
- como etapa final, adiciona-se 17 (em decimal) ao resultado hexadecimal obtido.
Considerando o número decimal de partida como 254, e levando em conta as transformações para binário e depois para hexadecimal, seguidas pela adição antes da última etapa, o resultado final encontrado pelo analista é:
- A0x11B;
- B0x10F; (alternativa correta)
- C0x121;
- D0x117;
- E0x10A.
Resposta comentada
Gabarito Alternativa B
As bases numéricas são diferentes sistemas para representar quantidades. A base decimal (base 10) é a que usamos no dia a dia, com 10 dígitos (0-9). A base binária (base 2) é fundamental para computadores, usando apenas 2 dígitos (0 e 1). A base hexadecimal (base 16) é uma forma compacta de representar binário, usando 16 símbolos (0-9 e A-F, onde A=10, B=11, ..., F=15). Converter entre elas significa expressar o mesmo valor em um sistema diferente.
Para resolver a questão, seguimos os passos:
-
Converter 254 (decimal) para binário:
Dividimos 254 sucessivamente por 2 e anotamos os restos, de baixo para cima:
254 ÷ 2 = 127 R 0
127 ÷ 2 = 63 R 1
63 ÷ 2 = 31 R 1
31 ÷ 2 = 15 R 1
15 ÷ 2 = 7 R 1
7 ÷ 2 = 3 R 1
3 ÷ 2 = 1 R 1
1 ÷ 2 = 0 R 1
Resultado: 11111110 (binário). -
Converter 11111110 (binário) para hexadecimal:
Agrupamos os bits em blocos de 4, da direita para a esquerda:
1111 | 1110- 1111₂ = 15₁₀ = F₁₆
- 1110₂ = 14₁₀ = E₁₆
Resultado: FE (hexadecimal).
-
Adicionar 17 (em decimal) ao resultado hexadecimal (FE):
Para somar números em bases diferentes, precisamos convertê-los para a mesma base.
Podemos converter FE (hexadecimal) para decimal, somar 17, e depois converter o resultado de volta para hexadecimal:- FE₁₆ = F * 16¹ + E * 16⁰ = 15 * 16 + 14 * 1 = 240 + 14 = 254₁₀
- Agora, somamos 17₁₀: 254₁₀ + 17₁₀ = 271₁₀
- Finalmente, convertemos 271 (decimal) para hexadecimal:
271 ÷ 16 = 16 R 15 (F)
16 ÷ 16 = 1 R 0
1 ÷ 16 = 0 R 1
Lendo os restos de baixo para cima: 10F (hexadecimal).
Ou, podemos converter 17 (decimal) para hexadecimal e somar em hexadecimal:
-
17₁₀ = 1 * 16¹ + 1 * 16⁰ = 11₁₆
-
Agora, somamos FE₁₆ + 11₁₆:
F E- 1 1
1 0 F
(E + 1 = F)
(F + 1 = 10 em hexadecimal, então escreve 0 e "sobe" 1 para a próxima posição, resultando em 10F).
Ambos os métodos levam ao mesmo resultado: 0x10F.
(A) Incorreta: O valor 0x11B em decimal é 283. Este resultado seria obtido se a soma final fosse 254 + 29 (decimal), e não 254 + 17. A armadilha da banca aqui é induzir a um erro de cálculo na adição decimal (254 + 17 = 283, ao invés de 271), que é um erro comum sob pressão.
(B) Correta: O resultado final, seguindo todas as etapas de conversão e adição corretamente, é 0x10F.
(C) Incorreta: O valor 0x121 em decimal é 289. Este resultado seria obtido se a soma final fosse 254 + 35 (decimal).
(D) Incorreta: O valor 0x117 em decimal é 279. Este resultado seria obtido se a soma final fosse 254 + 25 (decimal).
(E) Incorreta: O valor 0x10A em decimal é 266. Este resultado seria obtido se a soma final fosse 254 + 12 (decimal).
Fonte: FGV TJ-MS 2024 Técnico de Nível Superior - Analista de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.