Poser à la main l'addition binaire de 01101 et 00111 en suivant…
Exercice de TD · niveau 3 (difficile) · NSI (première), chapitre 2 — Flottants, booléens et textes · Logique, tables de vérité et circuits
Énoncé
Poser à la main l'addition binaire de 01101 et 00111 en suivant l'additionneur complet, retenue par retenue. Vérifier avec addition_binaire.
Corrigé
On parcourt les rangs de droite à gauche, en appliquant à chaque rang et .
| Rang | retenue | somme | retenue | ||
|---|---|---|---|---|---|
| 0 (droite) | 1 | 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 | 0 | 1 |
| 2 | 1 | 1 | 1 | 1 | 1 |
| 3 | 1 | 0 | 1 | 0 | 1 |
| 4 (gauche) | 0 | 0 | 1 | 1 | 0 |
En lisant la colonne « somme » de bas en haut : 10100, retenue finale — aucun débordement.
Contrôle : , , et .
>>> addition_binaire("01101", "00111")
('10100', 0)
>>> int("10100", 2)
20
Erreur attendue : oublier la retenue entrante au rang 1. On y a , : sans retenue on écrirait . Avec la retenue venue du rang 0, la somme des trois bits vaut , donc et . C'est là que le demi-additionneur ne suffit plus, et c'est toute la raison d'être de l'additionneur complet.
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.