Question

En fait, je me prépare pour un examen et lors de l'examen de l'année dernière, ce que.a-t-on demandé. c'est à dire

Le nombre entier décimal maximum pouvant être stocké dans la mémoire d'un ordinateur de traitement de texte 8 bits ?

un) (128)10
b) (127)10
c) (129)10
d) (255)10

Réponse à cette question.comme indiqué dans le corrigé est b) 127.Et je n’ai aucune idée de comment ils sont arrivés à ce résultat.

Acc.à ma connaissance, nous avons 8 bits, ce qui est 28 = 256 donc 255 devrait être l’entier maximum que nous pouvons stocker.

MODIFIER - Une autre question très similaire.demandé lors du même examen était

L'entier maximum autorisé dans un ordinateur équipé d'un traitement de texte à n bits et d'un mot par entier est égal à

un) 2 n-1 - 1
b) 2 n - 1
c) 2 n-1 + 1
d) 2 n + 1

C'est ans.est a)2 n-1 - 1 (selon.aux ans officiels.clé).

En mettant n = 8 d'en haut que.nous avons eu la réponse 127.Mais encore une fois, je ne sais pas comment ont-ils également obtenu cette réponse.

Était-ce utile?

La solution

Le verdict raisonnable est le verdict raisonnable, je crois, sans aucun contexte, comme dit le commentaire de Steven et le commentaire de Harold.

L'entier maximum (décimal) pouvant être stocké à la mémoire de l'ordinateur de processeur de mots de 8 bits dépend du contexte, c'est-à-dire que nous parlons d'entiers non signés ou d'entiers signés.

Selon Cette page Wikipedia sur l'informatique 8 bits ,

Il y a 2 ^ 8 $ (256) différentes valeurs possibles pour 8 bits. Lorsqu'il est non signé, il a des valeurs possibles allant de 0 à 255; Lorsqu'il est signé, il a -128 à 127.

La réponse naturelle, sans plus de contexte, devrait être 2 ^ 8-1= 255 $ . Nous n'avons vu aucun processeur d'ordinateur qui interprète une séquence de 8 bits (au niveau de base, juste pour être plus sûr) comme un entier supérieur à 255. D'autre part, presque tous les processeurs informatiques aujourd'hui peuvent interpréter un 8 bits séquence comme un entier (non signé) aussi grand que 255. En fait, comme indiqué dans Cette belle réponse de Kristian H ,

Les chiffres non signés sont une interprétation d'une séquence de bits. C'est aussi l'interprétation la plus simple et la plus utilisée à l'intérieur de la CPU, car les adresses et les codes OP sont simplement des bits. L'adressage et l'arithmétique de la mémoire / de la pile sont les fondements du microprocesseur, le puits, le traitement. Montant de la pyramide d'abstraction, une autre interprétation fréquente des bits est en tant que caractère (ASCII, Unicode, EBCDIC).


Cela dit ce qui précède, permettez-moi de défendre le choix de l'auteur de cet examen, même si je ne formerais pas la question de la question et de répondre comme présentée dans la question.

La question de l'examen a été conçue pour tester la compréhension de base d'un élève de la représentation des nombres dans nos processeurs informatiques binaires.

Si un étudiant choisit, probablement pour une bonne raison "B) (127) 10 ", nous pouvons être convaincus que l'étudiant connaît la très fondation sur la représentation d'un entier signé par Deux complément . Un bit sur ces 8 bits doit être utilisé pour représenter le signe. D'une manière ou d'une autre, la gamme d'entiers positifs est inférieure à la gamme d'entiers négatifs. Ainsi, l'entier maximum signé en 8 bits est 2 ^ {8-1} -1 $ . Nous pouvons être convaincus que l'étudiant saurait que le nombre maximum non signé peut être représenté en 8 bits pourrait être 2 ^ 8-1= 255 $ .

Cependant, si un élève choisit "D) (255) 10 ", il pourrait être difficile de justifier que l'élève sait ce qui se passe avec des entiers signés. Donc, si l'examen vise à vérifier combien d'étudiants ont appris, le choix B) pourrait être approprié.

Donc, dans le contexte d'un examen, un étudiant aurait une meilleure chance d'être considéré comme plus compétent si le choix B) est sélectionné au lieu du choix D). Ou une meilleure chance de gagner une meilleure note.


Encore une fois, laissez-moi insister sur le verdict de Harold, ce n'est pas une question raisonnable ». Idéalement, pour le choix prévu de b), la question devrait être «l'entier maximum signé pouvant être stocké en mémoire de l'ordinateur de processeur de mots de 8 bits?»


Pour une explication détaillée de la complément de deux, veuillez vérifier Cette page Wikipedia .

Autres conseils

J'ai la même question dans mon examen technique de l'informatique.La bonne réponse a également été 127, mon professeur a expliqué que Integer est le format par défaut. Par conséquent, la gamme irait de -128 à 127. Vous pouvez afficher 256 valeur distincte, mais le maximum serait toujours de 127.

Avec un seul mot de 8 bits, vous pouvez représenter 256 valeurs différentes et distinctes.Cependant, rien dans la première question ne vous empêche d’utiliser un seul mot, vous pouvez en utiliser autant que vous le souhaitez.Avec deux mots, on peut déjà représenter 65 536 valeurs, avec 42 mots, on pourrait déjà représenter toutes les particules de l'univers.Par conséquent, l’entier maximum pouvant être représenté est arbitrairement grand, ou en d'autres termes il n'y a pas d'entier maximum.

La deuxième question vous restreint à utiliser un seul mot, mais il reste toujours un problème :nous le savons maintenant, nous ne pouvons représenter que 256 valeurs distinctes, mais la question ne nous dit rien sur la façon dont ces valeurs sont codées.Par exemple, le codage des caractères ISO8859-1 peut représenter le signe monétaire générique international (¤) comme l'une des 256 valeurs, mais il ne peut pas représenter le signe euro ().ISO8859-15, en revanche, peut représenter le signe de l'euro mais pas le signe monétaire générique, et aucun des deux ne peut représenter le signe monétaire Bitcoin. .

Il en va de même pour les chiffres :avec 8 bits et un encodage unaire non signé, je peux représenter les nombres de 0 à 8.Avec un codage unaire signé, je peux représenter les nombres de -7 à +7, y compris -0 et +0.Avec un codage unaire non signé décalé de 42, je peux représenter le nombre 42 à 50.

Que j'utilise un codage signé ou non signé, unaire, binaire, décimal ou autre, je peux toujours représenter des nombres arbitrairement grands en introduisant un décalage dans mon codage.

Donc, encore une fois, pour la deuxième question également, il est impossible de donner une réponse.

Pour répondre à la deuxième question, nous aurions besoin de connaître l'encodage, pour répondre à la première question, nous aurions besoin de connaître l'encodage et la taille de la mémoire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top