SóProvas


ID
2524369
Banca
FCC
Órgão
DPE-RS
Ano
2017
Provas
Disciplina
Arquitetura de Computadores
Assuntos

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

Alternativas
Comentários
  • Alguém explica?

  • Vou tentar responder. Se der alguma informação errada, favor corrijam.

     

    a) o processador do computador é de 32 bits.
    R. Errado. O endereço de memória está escrito em hexadecimal. Cada dígito hexadecimal corresponde a 4 bits. Por exemplo, o dígito 8 (final do endereço da variável real) pode ser representado em binário por 1000. Como temos 16 dígitos hexadecimais, temos 64 bits (16 x 4).

     

    b) o computador tem o correspondente a 2^36 bytes de memória RAM.
    R. Errado. Foi dito no enunciado que o computador possui 16GB de RAM:
    1KB = 2^10 = 1024B.
    1MB = 2^20.
    1GB = 2^30.
    2GB = 2^31.
    4GB = 2^32.
    8GB = 2^33.
    16GB = 2^34.

     

    c) a variável do tipo real ocupa 4 bytes.
    R. Não podemos afirmar isso. O que podemos afirmar é que a variável real possui, no máximo, 4 bytes: 000000000022FE4C - 000000000022FE48 = 4 bytes.

     

    d) a variável do tipo real ocupa 16 bytes.
    R. Errado. A variável real possui, no máximo, 4 bytes: 000000000022FE4C - 000000000022FE48 = 4 bytes.

     

    e) a variável do tipo inteiro ocupa 8 bytes.
    R. Não temos como afirmar isso.

  • Não deveria ser 4 bits? 

     

  • Não, pois significa que existem 4 posições de memória que armazenarão 1 byte cada.   4x 1 byte = 4 bytes

  • a) 000000000022FE48 tem 16 casas, como é HEX entao é vezes 4 = 64 bits

    b) a palavra bytes já denunciou tudo 2 ^36 bytes, não anigo, 36 bits, e se fosse ^36 bits seria 65gb, ^35 seria 32gb, ^34 seria 16gb... morou? mas é bites!! se for byte isso teria que ser multiplicado por 8 ainda por cima

    lembre que 1 byte = 1 octeto = 8 bits = 1 hex (duas casas de 4 bits+4bits => [2^4]^2=256) , ta percebendo o loop infinito que isso vira?

    c) faz de cabeça 000000000022FE48 menos 000000000022FE4C = 0000000000000004 (porque 12 [C] - 8 = 4)

    d) foi provado que não

    e) não tem como saber isso a partir do enunciado, ele só disse onde a variável começava e não disse onde terminava para podermos calcular

    https://thestarman.pcministry.com/asm/6to64bits.htm

  • Em nenhum momento se afirmou que cada posição ocupava exatamente 1 byte. Acertei porém a questão está mal elaborada

  • Não sabia que existia processador 32 bits