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
Para resolver este problema, precisamos seguir as etapas de conversão e adição de números em diferentes bases, que são a base do conceito de sistemas de numeração na Tecnologia da Informação. Cada sistema (decimal, binário, hexadecimal) representa quantidades de forma diferente, mas podemos converter entre eles e realizar operações.
Vamos seguir as etapas descritas:
-
Converter o número decimal para binário:
O número de partida é 254 (decimal). Para converter para binário, dividimos o número 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
Lendo os restos de baixo para cima, obtemos: 11111110 (binário). -
Converter o número binário para hexadecimal:
Para converter de binário para hexadecimal, agrupamos os bits (dígitos binários) de 4 em 4, começando da direita para a esquerda. Se o último grupo à esquerda tiver menos de 4 bits, preenchemos com zeros à esquerda.
1111 1110
Agora, convertemos cada grupo de 4 bits para seu equivalente hexadecimal:
1111 (binário) = F (hexadecimal)
1110 (binário) = E (hexadecimal)
Assim, 11111110 (binário) é igual a FE (hexadecimal). -
Adicionar 17 (em decimal) ao resultado hexadecimal obtido:
Precisamos adicionar 17 (decimal) a FE (hexadecimal). Para fazer isso, convertemos 17 (decimal) para hexadecimal:
17 ÷ 16 = 1 R 1
Então, 17 (decimal) é igual a 11 (hexadecimal).
Agora, realizamos a adição em hexadecimal:
F E (que é 15 14 em decimal)- 1 1 (que é 1 1 em decimal)
Começando pela direita: E (14) + 1 = F (15).
Prosseguindo para a esquerda: F (15) + 1 = 10 (em hexadecimal, que é 16 em decimal).
O resultado da soma é 10F (hexadecimal).
Portanto, o resultado final encontrado pelo analista é 0x10F.
(A) Incorreta: 0x11B (que em decimal é ) seria o resultado se, por exemplo, houvesse um erro na soma decimal inicial (254 + 17 = 283, em vez de 271), o que é uma armadilha comum.
(B) Correta: O número decimal 254 é convertido para 11111110 em binário, que se torna FE em hexadecimal. Adicionando 17 (decimal), que é 11 em hexadecimal, a FE (hexadecimal), obtemos 10F (hexadecimal).
(C) Incorreta: 0x121 (que em decimal é ) não corresponde ao resultado correto.
(D) Incorreta: 0x117 (que em decimal é ) não corresponde ao resultado correto.
(E) Incorreta: 0x10A (que em decimal é ) não corresponde ao resultado correto.
Fonte: FGV TJ-MS 2024 Técnico de Nível Superior - Analista de Suporte de T.I. (Caderno Tipo 1). Reproduzida para fins de estudo.