GeraProva GeraProva Provas com IA para professores do Brasil
Computação5º anoBNCC EF15CO05Fácil⏱ medio

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

Habilidade BNCC EF15CO05

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?

  1. A) A ordem de bytes de rede é a mesma que a ordem de bytes little-endian.
  2. B) Para compatibilidade, os dados devem ser enviados em byte zero primeiro.
  3. C) Qualquer ordem de bytes funciona, desde que seja compatível com a aplicação.
  4. D) Deve-se usar sempre a ordem de bytes little-endian por ser mais rápida.
  5. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. A alternativa C está errada porque, em comunicação entre sistemas diferentes, a ordem precisa ser padronizada; depender de cada aplicação gera incompatibilidade.
  7. 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

A Erradaerro: Conceituala que mais engana

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.

B Erradaerro: Conceitual

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.

C Erradaerro: Senso comum

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.

D Erradaerro: Senso 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.

E Correta

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

Dificuldade Fácil
Bloom Lembrar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ direta🧩 desafio
🎯 Conceito central

ordem de bytes

📌 Objetivo

avaliacao

🧱 Pré-requisitos

ordem de bytes · serializacao de dados

📚 Reveja

Revisar as convenções de endianness e sua importância na computação.

⚠️ Erro mais comum

Confundir as ordens de bytes little-endian e big-endian, escolhendo a opção que menciona a little-endian como padrão para redes.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

tomada_decisao

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Codificação da informação

🔎 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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.