Ao serializar uma variável inteira (por exemplo, tipo int) para enviar por rede entre arquiteturas diferentes…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Codificar a informação de diferentes formas, entendendo a importância desta codificação para o armazenamento, manipulação e transmissão em dispositivos computacionais.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Ao serializar uma variável inteira (por exemplo, tipo int) para enviar por rede entre arquiteturas diferentes, qual convenção de ordem de bytes (endianness) deve ser adotada para interoperabilidade e como ela é conhecida tecnicamente?
- A) A ordem de bytes de rede é a mesma que a ordem de bytes little-endian.
- B) Para compatibilidade, os dados devem ser enviados em byte zero primeiro.
- C) Qualquer ordem de bytes funciona, desde que seja compatível com a aplicação.
- D) Deve-se usar sempre a ordem de bytes little-endian por ser mais rápida.
- E) Adotar a ordem de bytes de rede (network byte order), que é big-endian, para garantir que todas as máquinas interpretem a sequência de bytes da mesma forma.
✅ Resposta correta: alternativa E
Resolução passo a passo
- O problema pede a convenção de ordem de bytes que deve ser usada para trocar inteiros entre arquiteturas diferentes, e o nome técnico dessa convenção. Resolvi sem olhar o gabarito: em redes, a convenção padronizada é a ordem de bytes de rede (network byte order), que é big-endian, ou seja, o byte mais significativo é enviado primeiro.
- Essa padronização existe porque arquiteturas diferentes armazenam inteiros de formas diferentes. Processadores x86 costumam usar little-endian, enquanto muitas outras arquiteturas usam big-endian. Sem uma convenção comum, o receptor poderia interpretar o mesmo conjunto de bytes como outro valor.
- Ao definir uma ordem fixa para a rede, cada máquina converte seus dados para essa ordem antes de enviar e converte de volta ao receber (por exemplo, com funções como htonl e ntohl). Assim, todas interpretam a sequência de bytes da mesma forma. Isso torna a alternativa E correta, e ela coincide com o gabarito oficial.
- A alternativa A está errada porque a ordem de rede é big-endian, não little-endian; o little-endian é a ordem nativa de muitos processadores comuns, mas não é a convenção de rede.
- A alternativa B está errada porque não define a convenção de forma precisa; a noção de 'byte zero primeiro' não corresponde ao padrão técnico, que é enviar primeiro o byte mais significativo.
- A alternativa C está errada porque, em comunicação entre sistemas diferentes, a ordem precisa ser padronizada; depender de cada aplicação gera incompatibilidade.
- A alternativa D está errada porque a velocidade do little-endian não é o critério de interoperabilidade, e a escolha da ordem de rede visa compatibilidade entre máquinas, não desempenho local.
💡 Dica: Pesquise sobre as convenções de endianness.
Alternativa por alternativa
Assume que a ordem usada na rede é a mesma dos processadores mais comuns, como x86, que são little-endian. Confunde a ordem nativa de uma arquitetura com a convenção padronizada de rede.
Por que engana: Confundir as ordens de bytes little-endian e big-endian, escolhendo a opção que menciona a little-endian como padrão para redes.
Acredita que basta indicar que um byte específico vai primeiro, sem saber que a convenção técnica é enviar o byte mais significativo primeiro. A resposta é vaga e não identifica o padrão de rede.
Supõe que, se cada aplicação se entender com a própria ordem, a comunicação funciona. Ignora que sistemas diferentes podem interpretar os bytes de forma distinta, exigindo um padrão comum.
Acha que a ordem deve ser escolhida pelo ganho de velocidade em uma máquina específica. Não percebe que o critério principal para comunicação em rede é a interoperabilidade entre máquinas diferentes.
A convenção network byte order (big-endian) é padrão em protocolos de rede; usar essa ordem ao serializar evita incompatibilidade entre arquiteturas little- e big-endian.
Raio-X da questão
ordem de bytes
avaliacao
ordem de bytes · serializacao de dados
Revisar as convenções de endianness e sua importância na computação.
Confundir as ordens de bytes little-endian e big-endian, escolhendo a opção que menciona a little-endian como padrão para redes.
ciencia_tecnologia
tomada_decisao
cientifico
Questões parecidas com resolução
- Em uma farmácia, leitores de código de barras ajudam os funcionários a registrar as vendas e conferir os produtos no…
- — O sinal chegou, mas como o computador do centro vai saber o que vimos na praia? — perguntou Joana, durante um projeto…
- — Se o sinal chegar ao painel do ônibus sem o desenho, ele poderá ser montado de novo? — perguntou a técnica responsável…
- — Por que o aparelho não recebe a palavra inteira? — perguntou Caio ao técnico da prefeitura, ao observar um painel de…
- Na escola, Caio viu um aviso no rádio, outro escrito e outro com desenhos sobre uma ponte fechada e o caminho por Cedro…
- — O aviso precisa chegar também a quem não estiver olhando para o painel — observou a bibliotecária durante a…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
