Sur 8 bits, effectuer
Exercice de TD · niveau 2 · NSI (première), chapitre 1 — Représenter les entiers · Le complément à deux
Énoncé
Sur 8 bits, effectuer . Le résultat est-il correct ? Expliquer.
Corrigé
. L'addition donne :
| `01000110` | |
|---|---|
| `01000110` | |
| `10001100` |
Le bit de poids fort du résultat vaut : la machine lit un nombre négatif, . Additionner deux nombres positifs a produit un négatif.
Non, le résultat n'est pas correct, et l'explication est dans l'hypothèse du théorème du cours : il faut que , et soient représentables. Or : la somme sort de l'intervalle . C'est un débordement.
Contrôle : , c'est-à-dire réduit modulo puis relu en complément à deux — le codage fait ce qu'il sait faire, du calcul modulo .
Le vrai danger : aucune erreur n'est signalée. Le programme continue avec à la place de . Un test de la forme if total > 0 prendra alors la mauvaise branche.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.