cours 5
ARITHMÉTIQUE
BINAIRE
Somme en binaire
11 010 011 1 110 101 +
0 1
1
0
1
0
1 1
0 0
1
1
1
10
128 + 64 + 16 + 2 + 1
64 + 32 + 16 + 4 + 1 256 + 64 + 8
= 211
= 117
= 328
On additionne normalement avec les retenues.
Soustraction
1
10
0 11 101 1 011
0 10
16 + 8 + 4 + 1 = 29 8 + 2 + 1 = 11
16 + 2 = 18
Faites les exercices suivants
#24 et 25
Nombre négatif binaire
Pour introduire les négatif en binaire en informatique
il y a une façon de faire sans introduire un nouveau symbole ( - )
L’idée est d’introduire un bit au début du nombre positif
0
1 négatif
Complément à un
Dans un premier temps on fixe le nombre de bits.
Disons pour cet exemple 3. On ajoute un bit de signe.
0000 0
1 0001 1 1110
2 0010
0011 3
4 0100
0101 5
0110 6
0111
7 7 1000
6 1001
1010 5
4 1011
1100 3
2 1101
1111 0
On change tous les bits pour obtenir le nombre négatif
négatif positif
Exemple
010011 = 19 Pour obtenir 19
il suffit de changer tous les bits 101100 = 19
Remarque:
Dans cette écriture le nombre 0 a deux représentation0000 = 1111
Ce qui peut causer son lot de complications
Malheureusement le complément à un ne permet pas d’avoir une arithmétique fonctionnelle.
1011 7
3
0100
4 0011
7 3 3?
0111 + 1100
1000 + 0011
Faites les exercices suivants
Trouver les complément à un en 8 bits des nombres suivant a) 16
b) -16 c) -29
Complément à deux
On fait un complément à un, ensuite on ajoute 1
( les dépassement sont ignorés )
10000 1111 1110 1101 1100 1011 1010
1001 0 0000
1 0001 1 1110
2 0010
0011 3
0100 4
0101 5
0110 6
0111
7 7 1000
6 1001
1010 5
4 1011
1100 3
2 1101
1111 0
CàU CàD
Truc pour la conversion en complément à deux
0 0000
1 0001 1
2 0010
0011 3
0100 4
0101 5
0110 6
0111
7 7
6 5 4 3 2
0 10000 1111 1110 1101 1100 1011 1010 1001 CàD
On prend la partie du nombre positif à partir de la droite jusqu’au premier 1, on complémente le reste.
1000 0011 1011 7
3
0100 4
0111 1100 0011
7 3 3?
+ +
CàU
CàD 7
3
4 1100 10100
7 3 4 1001
+ 0011 0111
+ 1101
Donc pour faire de l’arithmétique binaire avec des négatifs, on doit spécifier préalablement le nombre de bits
Donc si je veux pouvoir utiliser le nombre 13, quatre bits ne suffiront pas
8 bits 28 = 256
216 = 64k 16 bits
32 bits 64 bits
232 = 4G 264 = 16E avec un bit réservé pour le signe
= ±128
= ±32k
= ±2G
= ±8E
Faites les exercices suivants
Convertir les nombres suivants avec 8 bits en complément à deux
56
100 12
4 4
0000 0100 1111 1100
0110 0100 = 1001 1100 0000 1100 = 1111 0100 0011 1000
Multiplication binaire
2 ⇥ (23 + 21 + 20) = 2 ⇥ 23 + 2 ⇥ 21 + 2 ⇥ 20
= 24 + 22 + 21 10 ⇥ 1011 = 10110
22 ⇥ (23 + 21 + 20) = 22 ⇥ 23 + 22 ⇥ 21 + 22 ⇥ 20
= 25 + 23 + 22 100 ⇥ 1011 = 101100
Exemple
110110
110110 0 110110
⇥ 1010
000
000 0 0 1 1 1
1
0 0
1
0
1
10 +
54 10
540
Faites les exercices suivants
# 1.26