-
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.