SóProvas


ID
2102557
Banca
FCC
Órgão
Prefeitura de Teresina - PI
Ano
2016
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Considere que um Analista de Sistemas da PRODATER tem as seguintes informações:
− O computador possui 4GB de memória RAM.
− O compilador da linguagem de programação A utiliza 2 bytes para armazenar um número inteiro.
− O compilador da linguagem de programação B utiliza 4 bytes para armazenar um número inteiro.
Diante destas informações, é correto afirmar que 

Alternativas
Comentários
  • A) Errada: seria preciso 32 bits para endereçar 4GB

    B) Errada: FFFFFF só consegue endereçar 24bits de memória.

    C) Errada: com uma variável de 2 bytes só é possível chegar a 65.536 decimal (positivo)

    D) Correta 

    E) Errada: se somar os valores será preciso 17 bits para representar o resultado

  • Alguém poderia por gentileza compartilhar uma bibliografia para resolução desta questão? Obrigada

  • QUESTÃO TRABALHOSA, EU PESSOALMENTE,  LEVARIA UM BOM TEMPO PRA RESOLVER.

    MAS VAMOS AOS CÁLCULOS:

    O computador possui 4GB de memória RAM. (4GB = 4.294.967.296 bits)
    − O compilador da linguagem de programação A utiliza 2 bytes para armazenar um número inteiro.(2 bytes = (2^16)������������� = 65.536 )
    − O compilador da linguagem de programação B utiliza 4 bytes para armazenar um número inteiro.(4 bytes = (2^32)������������� = 65536 * 65536 =  4.294.967.296 )
    a) são necessários 30 bits para endereçar qualquer posição da memória RAM.(2^30 = 1.073.741.824 bits (1GB) < 4GB).necessário mais de 30 bits para endereçar 4GB.ERRADA!
    b) são necessários 6 dígitos em hexadecimal para endereçar qualquer posição da memória RAM.(2*16^0 + 2*16^1 + 2*16^2 + 2*16^3 + 2*16^4 + 2*16^5 < 4GB).logo, são necessários mais de 6 digitos.ERRADA!
    c) uma variável inteira da linguagem de programação A consegue armazenar o número decimal 100000
    ou o número decimal −100000.(100.000>65.536, logo não é possíveil armazenar).ERRADA!
    d) uma variável inteira da linguagem de programação B consegue armazenar o número decimal
    10000000 ou o número decimal -10000000.(10.000.000 < 4.294.967.296, logo é possível armazenar).CORRETA! 
    e) uma variável inteira da linguagem de programação A consegue armazenar o número binário
    1111111100000000 somado com o binário 1000000011111111.(não armazena porque a variável A armazena 16 bits e o resultado da soma é de 17 bits).

         1111111100000000  
      +1000000011111111
       10111111111111111
    REGRA DA SOMA: 0 + 0 = 0, 0 + 1 = 1, 1+ 0 = 1, 1 + 1 = 0 *TRANSPORTE DE 1.

    É ISSO, ESPERO TER AJUDADO!

     

  • nossa q tempao de demora para resolver essa!

  • Não é tão trabalhosa assim.

    a) são necessários 30 bits para endereçar qualquer posição da memória RAM. (32 bits)

     

    b) são necessários 6 dígitos em hexadecimal para endereçar qualquer posição da memória RAM. (1 dígito em hexadecimal = 4 bits; Pra endereçar 4GB, que possui 2^32 endereços, são necessários 32 bits; 6 dígitos hexadecimais são 24 bits (4x6); ou seja, a quantidade informada é insuficiente para referenciar todos os endereços da memória)

     

    c) uma variável inteira da linguagem de programação A consegue armazenar o número decimal 100000 ou o número decimal −100000. (2 bytes são 2 * 8 bits = 16 bits. Para armazenar inteiros negativos, separa-se 1 bit para o sinal, sobrando 15 bits. 2^15 = 32768 valores que podem ser representados. Essa quantidade é insuficiente para armazenar  100000 números positivos ou negativos).

     

    e) uma variável inteira da linguagem de programação A consegue armazenar o número binário 1111111100000000 somado com o binário 1000000011111111 (4 bytes = 4 * 8 = 32 bits. Os dois números possuem 16 bits, porém a soma dos dois resulta em um número binário maior que 32 bits. Podemos perceber isso porque os dois bits mais à esquerda são 1, o que quer dizer que independentemente do resto da soma, será necessário mais 1 bit pra guardar o valor de 1 + 1).

  • Formas fáceis de pensar:

    a) errada: são 32 para 4gb

    b) errada: 1 dígito de hexa 4 bits, 6x4=24 bits, é pouco pra 4gb

    c) errada: 2 bytes = 16 bits que são 65536, bem inferior ao 100000  da questão

    d) correta: 4 bytes = é mais de 4 bilhões, que cabe tranquilamente o 10000000 

    e) errada: vai estourar, vai precisar de 1 bit a mais

  • Questão que o candidato tem é que chutar. pois tudo que a banca gosta é que você perca tempo.