Pergunta

Na verdade estou me preparando para um exame e no exame do ano passado isso.foi perguntado. ou seja

O número inteiro decimal máximo que pode ser armazenado na memória de um computador processador de texto de 8 bits?

a) (128)10
b) (127)10
c) (129)10
e) (255)10

Resposta desta pergunta.conforme fornecido na chave de resposta é b) 127.E não tenho ideia de como chegaram a esse resultado.

Ac.no meu entender, temos 8 bits, o que é 28 = 256 então 255 deve ser o número inteiro máximo que podemos armazenar.

EDITAR - Outra coisa muito parecida.perguntado no mesmo exame foi

O número inteiro máximo permitido em um computador com processador de texto de n bits e uma palavra por número inteiro é igual a

a) 2 n - 1 - 1
b) 2 n - 1
c) 2 n - 1 + 1
e) 2 n + 1

É uma resposta.é a) 2 n - 1 - 1 (ac.para resposta oficial.chave).

Colocando n = 8 acima que.obtivemos a resposta 127.Mas, novamente, não tenho ideia de como eles derivaram essa resposta também.

Foi útil?

Solução

O seguinte é o veredicto razoável, eu acredito, não há mais contexto, como disse pelo comentário de Steven e comentário de Harold.

O inteiro máximo (decimal) que pode ser armazenado em memória do computador de processador de palavra de 8 bits depende do contexto, ou seja, estamos falando de inteiros não assinados ou inteiros assinados.

De acordo com Esta página de Wikipedia em computação de 8 bits ,

.

Existem $ 2 ^ 8 $ (256) diferentes valores possíveis para 8 bits. Quando não assinado, tem valores possíveis que variam de 0 a 255; Quando assinado, tem -128 a 127.

A resposta natural, sem mais contexto, deve ser $ 2 ^ 8-1= 255 $ . Nós não vimos nenhum processador de computador que interpreta uma sequência de 8 bits (em um nível básico, apenas para ser mais seguro) como um inteiro que é mais de 255. Por outro lado, quase todo o processador de computador hoje pode interpretar um 8-bit sequência como um inteiro (não assinado) tão grande quanto 255. De fato, como disse em Esta boa resposta de Kristian H ,

.

Números não assinados são uma interpretação de uma seqüência de bits. É também a interpretação mais simples e mais usada internamente para a CPU porque endereços e códigos op são simplesmente bits. Memória / pilha O endereçamento e a aritmética são as bases do microprocessador, bem, processamento. Subindo a pirâmide de abstração, outra interpretação frequente de bits é como caractere (ASCII, Unicode, Ebcdic).


.

Tendo dito o acima, deixe-me defender a escolha do autor desse exame, embora eu não fenda a pergunta e a suíte de resposta conforme apresentada na pergunta.

A questão no exame foi projetada para testar a compreensão básica do aluno sobre a representação de números em nossos processadores de computador binários.

Se um aluno optar, presumivelmente por algum bom motivo, "B) (127) 10 ", podemos estar confiantes de que o aluno conhece o básico sobre a representação de um inteiro assinado por Dois complemento . Um pouco fora desse 8 bits deve ser usado para representar o sinal. De alguma forma, a gama de inteiros positivos é uma menos que a gama de inteiros negativos. Assim, o inteiro máximo assinado em 8 bits é $ 2 ^ {8-1} -1 $ . Podemos estar confiantes de que o aluno saberia que o inteiro não assinado máximo pode ser representado em 8 bits pode ser $ 2 ^ 8-1= 255 $ .

No entanto, se um aluno escolhe "D) (255) 10 ", pode ser difícil justificar que o aluno sabe o que acontece com números inteiros assinados. Então, se o exame pretende verificar quanto os alunos aprenderam, a escolha B) poderia ser apropriada.

Então, no contexto de um exame, um aluno teria uma chance melhor de ser considerado mais bem informado se a escolha b) é selecionada em vez de escolha D). Ou uma melhor chance de ganhar uma nota melhor.


.

Mais uma vez, deixe-me enfatizar o veredicto de Harold ", isso não é uma questão razoável". Idealmente, para a escolha pretendida de B), a questão deve ser "o inteiro máximo assinado que pode ser armazenado na memória do computador do processador de palavra de 8 bits?"


.

Para uma explicação detalhada do complemento de dois dois, verifique Esta página da Wikipedia .

Outras dicas

Eu tenho a mesma pergunta no meu exame técnico de informática.A resposta certa também foi 127, meu professor explicou que o Integer assinado é o formato padrão, portanto, o intervalo iria de -128 a 127. Você pode exibir 256 valor distinto, mas o máximo ainda seria 127.

Com uma única palavra de 8 bits, você pode representar 256 valores diferentes e distintos.Porém, não há nada na primeira pergunta que restrinja você a usar apenas uma palavra, você pode usar quantas palavras quiser.Com duas palavras já podemos representar 65536 valores, com 42 palavras já podemos representar todas as partículas do universo.Portanto, o número inteiro máximo que pode ser representado é arbitrariamente grande, ou dito de outra forma não há número inteiro máximo.

A segunda pergunta restringe o uso de uma única palavra, mas ainda há um problema:sabemos agora que só podemos representar 256 valores distintos, mas a questão não nos diz nada sobre como esses valores são codificados.Por exemplo, a codificação de caracteres ISO8859-1 pode representar o sinal de moeda genérico internacional (¤) como um dos 256 valores, mas não pode representar o sinal do Euro ().ISO8859-15, por outro lado, pode representar o sinal do Euro, mas não o sinal monetário genérico, e nenhum deles pode representar o sinal monetário Bitcoin .

O mesmo vale para números:com 8 bits e uma codificação unária sem sinal, posso representar os números de 0 a 8.Com uma codificação unária assinada, posso representar os números de -7 a +7, incluindo -0 e +0.Com uma codificação unária não assinada deslocada em 42, posso representar o número 42 a 50.

Independentemente de eu usar uma codificação com ou sem sinal, unária, binária, decimal ou alguma outra codificação, sempre posso representar números arbitrariamente grandes introduzindo um deslocamento em minha codificação.

Então, novamente, também para a segunda questão, é impossível dar a resposta.

Para responder à segunda questão precisaríamos saber a codificação, para responder à primeira questão precisaríamos saber a codificação e o tamanho da memória.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a cs.stackexchange
scroll top