Vous êtes sur la page 1sur 28

Corrigé

Exercices Chapitre I
Rappels & compléments
Codage et arithmétique binaires
LAA314
L3 Automatique
Mezzah_samia@yahoo.fr
Université de Béjaia

2015
o
Notation

……. notation décimale (base 10)


…….b notation binaire (base 2)
…….h notation hexadécimale (base 16)

Exemple:

10 q cette valeur est donnée en décimal


10b q cette valeur est en binaire
10h q cette valeur est en hexadécimal
Solution Exercice 2
Les puissances de 2

Les puissances de 2 en décimal et en binaire.:


puissance En décimal En binaire
20 1 1b
21 2 10b
22 4 100b
23 8 1000b
24 16 10000b
25 32 100000b
26 64 1000000b
27 128 10000000b
28 256 100000000b
29 512 1000000000b
210 1024 10000000000b
Solution Exercice 2
Les puissances de 2

Les puissances de 2 sont très importantes et il est souhaitable de les


apprendre par cœur. Elles peuvent être facilement mémorisées en utilisant
des repères (chacun ses astuces), exemples:
20 1 facile
21 2 facile
22 4 facile

O
23 3
3

24 16 après 4bits !
23+2 32
26 64
27 128 (après 7 q 8!!)
28 256 ???
29 512 q 210/2
210 1024 facile
Solution Exercice 2
Les puissances de 2

Les puissances de 2 en binaire sont très faciles à apprendre: la valeur de la


puissance et égale au nombre de zéro:

20 1b 0 zéro
21 10b 1 zéros
22

K
100b 2 zéros
23 1000b 3 zéros
24 10000b 4 zéros
25 100000b 5 zéros
26 1000000b 6 zéros
27 10000000b 7 zéros
28 100000000b 8 zéros
29 1000000000b 9 zéros
210 10000000000b 10 zéros
Exercice 3
Les limites de codage des nombres

Soit un entier non signé X codé sur 8bits. Donner L’intervalle [min, max]
des valeurs possible de X en binaire, hexadécimal et en décimal.

Quel est le nombre des valeurs possibles de X dans cette intervalle?. Même
question si X est codé sur 16bits et 32bits.
Solution Exercice 3
Les limites de codage des nombres

Le codage en binaire consiste à représenter le nombre avec des 1 et des 0,


le nombre de bits nécessaire dépend de la valeur.

- Le codage en binaire peut se faire avec les divisions successives par 2


- Ou à partir de comparaisons successives avec les puissances de 2.

c
Nombre
à coder y 26 2
RAPPELS

X
0 13 2
1 6 2
0 3 2

D
1ère 1 1 2
y Fin de
méthode 1 0
conversion

26 = 11010b
Solution Exercice 3
Les limites de codage des nombres

Le codage en binaire consiste à représenter le nombre avec des 1 et des 0,


le nombre de bits nécessaire dépend de la valeur.

- Le codage en binaire peut se faire avec les divisions successives par 2


- Ou à partir de comparaisons successives avec les puissances de 2

Nombre 26 ≥ 16 q1 ×(24) +
à coder
y 10 ≥ 8 q1 ×(23) +
Fin de
2 < 4 q0 ×(22) + conversion
2 ≥ 2 q1 ×(21) +

D
y
2ème 0 < 1 q0 ×(20)
méthode

26 = 11010b
Solution Exercice 3
Les limites de codage des nombres

Les nombres binaires peuvent être :


- Signés : équivalents aux entiers , positifs ou négatifs, en décimal
- Non signés : équivalents aux nombres naturels en décimal

Pour représenter un nombre négatif en binaire on utilise le complément à


2: pour obtenir le complément à 2 d’un nombre binaire avec la méthode
directe; en repère d’abord le premier 1 à partir de la droite:

Premier ‘1’
p

d
Nombre
1 1 0 0 1 1 0 0
binaire

 On inverse  On garde les


Les autres bits valeurs de ces bits
Son
complément 0 0 1 1 0 1 0 0
à 2
Solution Exercice 3
Les limites de codage des nombres

Remarque importante:
* En décimal lorsque on inverse un entier on obtient son opposé, exemple:
-(+5)  (-5)
-(-5)  (+5)
-(-(+5))  (+5)

* De la même manière: en binaire lorsqu’on complémente à 2 un nombre


binaire on obtient son opposé, exemple:

(+5) = 00000101b q -(+5) = complément à 2 (00000101b)


= 11111011b = (-5)
(-5) = 11111011b q -(-5) = complément à 2 (11111011b)
= 00000101b = (+5)
(+5) =00000101bq -(-(+5)) = complément à 2(complément à 2(00000101b))
= complément à 2 (11111011b))
= 00000101b = (+5)
Solution Exercice 3
Les limites de codage des nombres non signés

Si X est un nombre non signé codé sur 8 bits; les valeurs extrêmes qu’il
peut prendre sont:

- la valeur minimale: quand tous les bits sont à 0: 00000000b


- la valeur maximale: quand tous les bits sont à 1: 11111111b

Donc l’intervalle des valeurs est:


- en hexadécimal: [00h FFh]
- en décimal : [0 255]

Le nombre de valeur dans cet intervalle est égale à 256 (28bits)


Solution Exercice 3
Les limites de codage des nombres non signés

Pour le codage de X sur 16bits:


- la valeur minimale: quand tous les bits sont à 0: 00……….000b
- la valeur maximale: quand tous les bits sont à 1: 11…………111b
Donc l’intervalle des valeurs est:
- en hexadécimal: [0000h , FFFFh]
- en décimal : [0 , 216 -1]
Le nombre de valeur dans cet intervalle est égale à 216

Pour le codage de X sur 32bits:


- la valeur minimale: quand tous les bits sont à 0: 00……….000b
- la valeur maximale: quand tous les bits sont à 1: 11…………111b
Donc l’intervalle des valeurs est:
- en hexadécimal: [00000000h , FFFFFFFFh]
- en décimal : [0 , 232 -1]
Le nombre de valeur dans cet intervalle est égale à 232
Exercice 4
Les limites de codage des nombres signés

Le tableau suivant donne en binaire et en décimal tous les entiers signés


représentés sur 3 bits (complément à 2).
- Déduire l’intervalle [min ,max] en décimal des nombres signés représentés
sur n bits. Applications n=4, 8 et 16.
- Donner tous les nombres signés représentés sur 4bits (en binaire et en
décimal).
Solution Exercice 4
Les limites de codage des nombres signés

Codage des nombres signés sur 3 bits:


* Les nombres positifs: (de 000b à 011b) 0, +1, +2, +3
* Les nombres négatifs : (de 100b à 111) -4, -3, -2, -1
L’intervalle des valeurs:
* en binaire: [100b , 011]
* en décimal: [-4 , +3]
Généralisation à n bits
* Les nombres codés sur n bits commençant par 0 représentent les entiers
positifs: ils vont de 0=00…….0b à +2n−1-1=0111…….1b (valeur maximale).

* Les nombres codés sur n bits commençant par 1 représentent les entiers
négatifs: ils vont de -2n−1 = 100 . . . 00b (valeur minimale)
à -1= 111 . . . 11b.
* on obtient alors un intervalle de codage égale à [−2n−1 , +2n−1-1]
Applications
* n=4 bits : [−23, 23 − 1] = [−8, +7]
* n=8 bits : [−27, 27 − 1] = [−128, +127]
* n=16 bits : [−215, 215 − 1] = [−32768, +32767]
Solution Exercice 4
Les limites de codage des nombres signés

Tous les nombres signés


sur 4 bits :

0000 +0 1000 -8
0001 +1 1001 -7
0010 +2 1010 -6
0011 +3 1011 -5
0100 +4 1100 -4
0101 +5 1101 -3
0110 +6 1110 -2
0111 +7 1111 -1
Exercice 5
Effectuer les opérations suivantes (binaires). Indiquer les opérations dont le
résultat dépasse 8bits.

1. 1001 0110 + 0010 1101


2. 1100 1110 - 1010 0111
3. 0000 1011 * 0001 0110
4. 0000 1010 / 0000 0101
5. 1001 0110 + 0110 1101
6. 0100 1001 * 0000 0110
7. 0000 1001 * (0000 0011 / 0000 0101)
8. (0000 1001 * 0000 0011) / 0000 0101

&
Solution Exercice 5
Opérations binaires :

1. 10010110 + 00101101 = 11000011


2. 11001110 - 10100111 = 100111
3. 00001011 x 00010110 = 11110010
4. 00001010 / 00000101 = 10

5. 10010110 + 01101101 = 100000011 dépasse 8bits ! ! !


6. 01001001 x 00000110 = 110110110 dépasse 8bits ! ! !
7. 00001001 x (00000011 / 00000101) = 101.01011001100……. dépassement.
8. (00001001 x 00000011) / 00000101 = 101.011001100…… dépassement.

N.B : les deux dernières opérations montrent que l’ordre dans lequel sont
effectués les calculs peut être important, l’associativité est perdue lorsqu’on

J
limite le nombre de bits de codage.
Exercice 6
1. Dans la 1ère partie de l’exercice, on travaille sur 8 bits:
a- Coder les entiers (+97) et (−34).
b- Décoder 00110101b et 10110101b.
c- Calculer le codage en complément à deux de 10000000b= (−128),
Conclusion
2. Effectuer les additions sur 4 bits (en indiquant la valeur de la retenue
signée et non signée):

(a) 0110 + 0001 (b) 1011 + 1111


(c) 1001 + 1011 (d) 1001 + 0011
(e) 0110 + 1000 (f) 0111 + 1111
(g) 0111 + 0001 (h) 1000 - 0011
(i) 1111 - 0010 (j) 0000 - 1011
(k) 0111 - 1111 (l) 1111 - 1010

3. En distinguant trois cas, montrer que l’addition binaire fonctionne avec


des nombres représentés en complément à deux (sauf dépassement de
capacité !).
4. Étendre les résultats des opérations précédentes sur 8 bits.
Solution Exercice 6

1.a) Codage des entiers (+97) et (−34) sur 8bits :


pour coder le nombre positif (+97) on applique la méthode de conversion
décimalbinaire (ici par comparaisons succéssives) comme s’il s’agissait du
nombre non signé 97:
64 + 32
eeeeeeeeeeee
+ 1 = 97
128 64 32 16 8 4 2 1
27
W W
26
s s
25 24 23 22 21
W
20
s
0 1 1 0 0 0 0 1

Donc:
(+97) = 97 = 01100001b
Solution Exercice 6
1.a) pour coder le nombre négatif (-34) ; on code (+34) en binaire avec la
méthode de conversion décimal binaire usuelle puis on complémente le
résultat à 2:

32 + 2 = 34
eeeeeeeeeee
128 64 32 16 8 4 2 1
27 26
W
s
25 24 23 22
W
21
s
20

0 0 1 0 0 0 1 0

(+34) = (00100010b)
(-34) = l’opposé de(+34) = complément à 2 de (00100010b)

Donc: (-34) = 11011110b


Solution Exercice 6

1.b) Décodage des entiers (00110101b) et (10110101b) :


pour décoder le nombre positif (00110101b) on applique la méthode de
conversion binairedécimal comme s’il s’agissait d’un nombre binaire non signé

0 0 1 1 0 1 0 1
27 26 25 24 23 22 21 20
128 64
WW
32
s s
W
s
16 8 4 2
W
s
1

32 + 16 + 4 + 1 = 53
eeeeeeeeeee

Donc:
00110101b= (+53)
Solution Exercice 6

1.b) Décodage des entiers (00110101b) et (10110101b) :


pour décoder le nombre négatif (10110101b) on complémente à 2 d’abord le
nombre binaire pour avoir le nombre positif correspondant; ce denier sera
convertit en décimal par la méthode usuelle. Enfin, le nombre décimal positif
obtenu sera inverser pour avoir le nombre négatif:

1 0 1 1 0 1 0 1
Complément

m
0 1 0 0 1 0 1 1 à 2
27 26 25 24 23 22 21 20
128
W
s
64 32 16
W
8
s
4
W
s
W
2
s
1

64
eeeeeeeeeeee
+ 8 + 2 + 1 = 75

01001011b= 75
le complément à 2 de (01001011b) = l’opposé de (+75)

Donc: 10110101b= (-75)


Solution Exercice 6

1.c) Le complément à deux de 10000000b= (−128)


Complémenter le nombre binaire négatif (10000000b) qui correspond à -128
en décimal revient à calculer +128 en binaire

1 0 0 0 0 0 0 0

W 1 0 0 0 0 0 0 0

Le signe du résultat est négatif: ce résultat n’est pas valide: si on inverse


(complémente) un nombre négatif on obtient un nombre positif dans le cas
contraire (signe erroné) nous avons un dépassement de capacité.

Conclusion:
on ne peut par représenter
+128 sur 8 bits.
Solution Exercice 6

2. Addition et soustraction de nombres binaires signés :


La valeur de la retenue signé indique une anomalie
au niveau du SIGNE du résultat ce qui veut dire
un dépassement de capacité.
Voici le signe normal d’un résultat en fonction de l’opération effectuée
Solution Exercice 6

4. Extension sur 8bits des résultats des opérations précédentes: les 4


nouveaux bits doivent être ajoutés à gauche ; leurs valeurs dépendent de
l’opération (addition /soustraction) et la présence ou non d’un dépassement:
.

- Si la retenue signée = 0 (pas de dépassement): dans le cas des 2


opérations ; on propage le signe du résultat: nouveaux bits = bit signe
.

- Si la retenue signée = 1 (dépassement):


q dans le cas d’addition: nouveaux bits = retenue non signée
q dans le cas de soustraction: nouveaux bits = l’inverse de la retenue
. non signée.
Soustraction
1
V 1 1 1
d

j
- 1
V 0 1 0
1 1
V 1 1 ( -1 )
Z0 0
V 1 0 1
- 1 0
V 1 0 - ( -6 )
s 0 0
V 0 0 0 1 0 1 ( +5)
(l)
l
Z0

Pas de dépassement
Fin

AUX OPERATIONS BINAIRES