Pular para o conteúdo principal

Questão de Arquitetura de Computadores — Processadores — FCC 2017

Arquitetura de ComputadoresProcessadores
Código
fc036544
Banca
FCC
Órgão
DPE-RS
Ano
2017
Nível
Superior
Cargo
Analista - Desenvolvimento de Sistemas
Um Analista está usando um computador que possui 16GB de RAM. Executou um programa e obteve como resultado o seguinte endereço de memória de uma variável declarada como real: 000000000022FE48 e o seguinte endereço de memória de uma variável declarada como inteira: 000000000022FE4C. O Analista concluiu, corretamente, que
  1. Ao processador do computador é de 32 bits.
  2. Bo computador tem o correspondente a 2³⁶bytes de memória RAM.
  3. Ca variável do tipo real ocupa 4 bytes.
  4. Da variável do tipo real ocupa 16 bytes.
  5. Ea variável do tipo inteiro ocupa 8 bytes.
Revelar gabarito e comentário

GabaritoC — a variável do tipo real ocupa 4 bytes.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Endereçamento de memória e tamanho de variáveis

Gabarito: letra C. A diferença entre os endereços fornecidos (000000000022FE48 e 000000000022FE4C) é de exatos 4 bytes (022FE4C - 022FE48 = 4). Isso indica que a variável declarada como real ocupa 4 bytes, pois a variável inteira começa imediatamente após o término da real. Logo, a conclusão correta é que a variável do tipo real ocupa 4 bytes.

A banca testa o conhecimento sobre a correspondência entre endereços consecutivos e o tamanho dos tipos de dados. Em C, por exemplo, o tipo float (real de precisão simples) ocupa 4 bytes, e o tipo int (inteiro) também ocupa 4 bytes na maioria das arquiteturas de 32 ou 64 bits. O endereço 4 bytes adiante confirma essa relação.

  1. 1Endereço real: 022FE48
  2. 2Endereço inteiro: 022FE4C
  3. 3Diferença: 022FE4C - 022FE48 = 4
  4. 4Variável real ocupa 4 bytes
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O tamanho do endereço mostrado (64 bits, pois possui 16 dígitos hexadecimais) sugere um processador de 64 bits, não 32 bits. Além disso, a diferença de 4 bytes entre os endereços não depende da largura do processador.

Alternativa B — ❌ Incorreta

16 GB de memória RAM equivalem a 16×230=24×230=23416 \times 2^{30} = 2^{4} \times 2^{30} = 2^{34} bytes, e não 2362^{36} bytes. O valor 2362^{36} corresponderia a 64 GB.

Alternativa C — ✅ Correta ⟵ GABARITO

Como demonstrado, a diferença de 4 bytes entre os endereços consecutivos prova que a variável real ocupa exatamente 4 bytes. Isso é compatível com o tipo float (real de precisão simples).

Alternativa D — ❌ Incorreta

16 bytes é um tamanho muito grande para uma variável real simples. Tipos como double (8 bytes) ou long double (10 a 16 bytes) ocupam mais, mas a diferença de 4 bytes invalida essa hipótese.

Alternativa E — ❌ Incorreta

A variável inteira ocupa 4 bytes, pois o próximo endereço após a variável real (4 bytes) é exatamente o início da inteira. Se a inteira ocupasse 8 bytes, o endereço seguinte estaria 8 bytes adiante, o que não ocorre.

Gabarito: letra C.

Link permanente: /questoes/fc036544