Exercice 1 :
1. Coder sur 4 bits les entiers +7, +2, 0, −2, −7 et −8, +8 avec les représentations
suivantes :
⦁ Représentation binaire classique.
⦁ Signe et valeur absolue.
⦁ Complément à 1 (Cà1).
⦁ Complément à 2 (Cà2).
2. Indiquer la valeur codée sur 16 bits par la suite:1101100101110101 qui représente :
⦁ Représentation binaire classique.
⦁ Signe et valeur absolue.
⦁ Complément à 1 (Cà1).
⦁ Complément à 2 (Cà2).
✓ Même question avec la suite 0001000011101101.
3. Effectuer (sur 8 Bits) en Cà1 puis en Cà2 les opérations suivantes :
+19+5 ; +20+15 ; -13-12 ; -21-17 ; +19-3 ; +2-11 ; -18-14.
Exercice 2:
On considère que les nombres sont stockés sur des mots de 1 octet, c’est-à-dire 8 bits.
- Quels sont les entiers on peut coder sur 8 bits.
- Donner le codage en complément à deux des entiers signés suivant : -13 et –127.
- Calculer l’opposé des nombres suivants codés sur 1 octet : 10011101 et 00110011.
- Donner la représentation décimale des entiers signés suivant (codés en binaire complément à deux) : 11001101 et 00001101.
- En utilisant le complément à 2 , calculer sur 8 bits (-13) + 13, 23-46 et 127+2.
- Combien de bits sont nécessaires pour coder en binaire les entiers naturels inférieurs ou égaux
à n.
Exercice 3:
1. Exprimer les entiers signés 125, −125, 0, 175 et −100 dans une forme binaire sur 8 bits en utilisant :
⦁ Signe et valeur absolue.
⦁ le complément à 1.
⦁ le complément à 2.
2. Traduire les nombres binaires 0000 0011, 1000 0001 et 1111 1111 dans la forme décimale selon que la représentation utilisée est :
a) la représentation binaire classique.
b) Signe et valeur absolue.
c) le complément à 1.
d) le complément à 2.
SOLUTION :
Exercice 1 :
1. Codage sur 4 bits des entiers +7, +2, 0, −2, −7 et −8 :
- Représentation
binaire classique :
Les entiers sont représentés en binaire positif uniquement (sans signe). - +7 → 0111
- +2 → 0010
- 0 → 0000
- −2 → Non représenté directement (valeurs négatives absentes).
- −7 → Non représenté directement.
- −8 → Non représenté directement.
- Signe
et valeur absolue :
Le premier bit représente le signe (0 = positif, 1 = négatif), et les bits suivants la valeur absolue. - +7 → 0111
- +2 → 0010
- 0 → 0000
- −2 → 1010
- −7 → 1111
- −8 → 1100
- Complément
à 1 (Cà1) :
Pour les nombres négatifs, on inverse tous les bits du nombre positif correspondant. - +7 → 0111
- +2 → 0010
- 0 → 0000
- −2 → 1101
- −7 → 1000
- −8 → 0111
- Complément
à 2 (Cà2) :
Pour les nombres négatifs, on prend le complément à 1 et on ajoute 1. - +7 → 0111
- +2 → 0010
- 0 → 0000
- −2 → 1110
- −7 → 1001
- −8 → 1000
2. Valeur codée sur 16 bits pour la suite 1101100110110101 :
- Représentation
binaire classique :
Chaque bit est directement lu comme un entier non signé :
1101100110110101 (en décimal = 56,149). - Signe et valeur absolue :
- Premier bit (1) indique un signe négatif.
- Valeur absolue : 101100110110101 (11,221).
- Complément à 1 :
- On inverse tous les bits : 0010011001001010.
- Complément à 2 :
- On
prend le complément à 1 (0010011001001010) et on ajoute 1 :
Résultat : 0010011001001011 (9,707).
3. Opérations en Cà1 et Cà2 (sur 8 bits) :
- +19 + 5
- En
Cà2 :
+19 = 00010011, +5 = 00000101.
Addition : 00011000 (décimal = 24). - +20 + 15
- En
Cà2 :
+20 = 00010100, +15 = 00001111.
Addition : 00100011 (décimal = 35). - −13 − 12
- En
Cà2 :
−13 = 11110011, −12 = 11110100.
Addition : 11100111 (décimal = −25). - −21 − 17
- En
Cà2 :
−21 = 11101011, −17 = 11101111.
Addition : 11011010 (décimal = −38). - +19 − 3
- En
Cà2 :
+19 = 00010011, −3 = 11111101.
Addition : 00010000 (décimal = 16).
- +2 − 11
- En
Cà2 :
+2 = 00000010, −11 = 11110101.
Addition : 11110111 (décimal = −9). - −18 − 14
- En
Cà2 :
−18 = 11101110, −14 = 11110010.
Addition : 11011100 (décimal = −32).
Exercice 2 :
- Entiers
codables sur 8 bits :
En utilisant le complément à 2 : - Plage : −128 à +127.
- Codage en complément à 2 :
- −13
:
Valeur absolue : 00001101 → Complément à 1 : 11110010 → Complément à 2 : 11110011. - −127
:
Valeur absolue : 01111111 → Complément à 1 : 10000000 → Complément à 2 : 10000001. - Opposé des nombres (complément à 2) :
- 10011101 → Complément à 1 : 01100010 → Complément à 2 : 01100011 (décimal = +99).
- 00111011 → Complément à 1 : 11000100 → Complément à 2 : 11000101 (décimal = −61).
- Représentation décimale des nombres :
- 11001101 → Complément à 1 : 00110010 → Complément à 2 : 00110011 → Décimal : −51.
- 00001101 (direct) → Décimal : +13.
- Calculs en complément à 2 :
- −13 + 13 : 11110011 + 00001101 = 00000000 (décimal = 0).
- 23
− 46 :
+23 = 00010111, −46 = 11010010.
Addition : 11101001 (décimal = −23). - 127
+ 2 :
127 = 01111111, +2 = 00000010.
Addition : Overflow, résultat non représentable sur 8 bits. - Bits
nécessaires pour coder un entier naturel ≤ n :
Nombre minimal de bits = ⌈log₂(n + 1)⌉.
Exercice 3 :
- Représentation sur 8 bits des entiers signés :
- 125 :
- Signe et valeur absolue : 01111101.
- Complément à 1 : 01111101.
- Complément à 2 : 01111101.
- −125 :
- Signe et valeur absolue : 11111101.
- Complément à 1 : 10000010.
- Complément à 2 : 10000011.
- 0 :
- Signe et valeur absolue : 00000000.
- Complément à 1 : 00000000.
- Complément à 2 : 00000000.
- 175 : (non représentable sur 8 bits).
- −100 :
- Signe et valeur absolue : 11100100.
- Complément à 1 : 10011011.
- Complément à 2 : 10011100.
- Traduction des nombres binaires :
- 0000 0011 (3) :
- Représentation classique : +3.
- Signe et valeur absolue : +3.
- Complément à 1 : +3.
- Complément à 2 : +3.
- 1000 0001 (−127) :
- Représentation classique : Non représentable.
- Signe et valeur absolue : −127.
- Complément à 1 : −127.
- Complément à 2 : −127.
- 1111 1111 (−1) :
- Représentation classique : Non représentable.
- Signe et valeur absolue : −1.
- Complément à 1 : −1.
- Complément à 2 : −1.
