Uma instrução típica de adição na linguagem de montag...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - 97h AFh.
A questão aborda o conhecimento sobre a linguagem de montagem, ou Assembly, e a habilidade para converter números binários em sua representação hexadecimal. Para resolver tal questão, é necessário entender que um número binário é composto por dígitos 0 e 1, onde cada dígito representa uma potência de 2. Na conversão para o sistema hexadecimal, que é um sistema de base 16, cada dígito representa uma potência de 16, e pode assumir valores de 0 a 9 e de A a F, onde A representa 10 e F representa 15 no sistema decimal.
Olhando para o número binário fornecido na questão, 10010111 10101111, devemos separá-lo em grupos de 4 bits cada, pois cada grupo de 4 bits em binário pode ser representado por um único dígito em hexadecimal:
1001 (9) | 0111 (7) | 1010 (A) | 1111 (F)
Cada grupo de 4 bits deve então ser convertido para o dígito hexadecimal correspondente. Seguindo a conversão:
- 1001 em binário é igual a 9 em hexadecimal (8 + 0 + 0 + 1)
- 0111 em binário é igual a 7 em hexadecimal (0 + 4 + 2 + 1)
- 1010 em binário é igual a A em hexadecimal (8 + 0 + 2 + 0)
- 1111 em binário é igual a F em hexadecimal (8 + 4 + 2 + 1)
Combinando esses valores, temos 97h para a primeira parte e AFh para a segunda, resultando na representação hexadecimal completa de 97h AFh. Portanto, a alternativa B é a correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Existe mais de uma forma de se fazer o cálculo, para simplificar poderíamos apenas separar em grupos de 4 dígitos (o número binário):
Primeira sequência: 1001 0111
Convertendo para HEX: 9 7
Segunda sequência: 1010 1111
Convertendo para HEX: A F
Lembrando que hexadecimal é igual a base 16, ou seja, 0 1 2 3 4 5 6 7 8 9 A B C D E F.
Ou poderíamos fazer da seguinte forma:
1 0 0 1 0 1 1 1
2^7 * 1 + 2^6 * 0 + 2^5 * 0 + 2^4 * 1+ 2^3 * 0 + 2^2 * 1 + 2^1 * 1+ 2^0 * 1
128 + 0 + 0 + 16 + 0 + 4 + 2 + 1 = 151 <- Conversão de binário para decimal
151 / 16 = 9 mod 7 <- Conversão de decimal para hex
1 0 1 0 1 1 1 1
2^7 * 1 + 2^6 * 0 + 2^5 * 1 + 2^4 * 0+ 2^3 * 1 + 2^2 * 1 + 2^1 * 1+ 2^0 * 1
128 + 0 + 32 + 8 + 4 + 2 + 1 = 175 <- Conversão de binário para decimal
175 / 16 = 10 mod 15, logo 10 = A; 15 = F <- Conversão de decimal para hex
A explicação do cálculo acima é 160 / 16 = 10, porém ""não existe"" o ""número"" 10 em hex e sim a letra A, e sobra 15 e pela sequência apresentada acima 15 = F.
Espero ter ajudado.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo