Calcul Binaire
Calcul Binaire
Calcul Binaire
1
Système de numération
(représenter des quantités par des
symboles)
Différence ?
a) IIIIIIIIIIII
b)
c) XII
d) 12
2
Système de numération
par ADDITION
On additionne la valeur des différents
symboles
a) IIIIIIIIIIII = 12 où I=1
b) =12 où I = 1 et =5
3
Système de numération
par ADDITION
●
Les nombres romains : un système de
numération par addition complexe :
4
Systèmes de numération
par POSITION
1306 = ?
5
Systèmes de numération
par POSITION
1306 =
1 millier +
3 centaines +
0 dizaines +
6 unités
6
Systèmes de numération
par POSITION
130610 =
1 x103 +
3 x102 +
0 x101 +
6 x100
10 est la base
7
Le chiffre zéro
●
Dernier chiffre introduit :
– Représente la quantité nulle (abstraction)
●
0 = RIEN
– Permet le décalage dans le notation par
position
●
1 ≠ 10 ≠ 100
8
Écriture décimale positionnelle
= écriture courante
●
Comment interpréter 137 ?
● Notation : 137 ≡ 13710
(d2 d1 d0)10 où les « di » utilisent les
10 symboles, de 0 à 9 = Base 10
●
Reliquats d'autres systèmes ça et là dans notre culture,
lesquels ?
●
D'autres bases sont parfois utilisées...
9
Autres Bases
Dans une base B ont construit les nombre avec les
B chiffres {0, 1, 2,…, B-1}
●
Exemple : base 2 , avec les symboles {0 ,1}
Notation ( exemple): 1001012
--> Système binaire
●
Exemple : base 8 , avec les symboles {0 ,1,2,3,4,5,6,7}
Notation ( exemple): 10050178
--> Système octal
●
Exemple : base 16, symboles 0....9, A,B,C,D,E,F
Notation ( exemple) : 4AF216
-> Système hexadécimal
10
Système Binaire
base 2 :
Vocabulaire :
11
Notation générale
Dans la Base B : di {0, 1, 2,…, B-1} (les di sont les chiffres)
n-1 n-2 2 1 0
(dn-1 dn-2 ...d2 d1 d0 )B = (dn-1*B +dn-2*B +...+d2*B +d1*B +d0*B )10
Exemple : en base 5
14235 = 1 * 53 + 4 * 52 + 2 * 51 + 3 * 50
= 1* 125 + 4* 25 + 2*5 +3*1
= 23810
12
Conversion base B → Décimal
Base B : (dn-1 dn-2 ...d2 d1 d0 )B = ?10
n-1 n-2 2 1 0
(dn-1 dn-2 ...d2 d1 d0 )B = (dn-1*B +dn-2*B +...+d2*B + d1*B +d0*B )10
2123 = 2 * 32 + 1 * 31 + 2 * 30
= 2* 9 +1* 3 + 2*1
= 2310
13
exercice
● 124 =?10
● 133 =?10
● 1235 =?10
● 11012 =?10
● 107 =?10
14
exercice
1 0
●
124 =(1.4 + 2.4 )10 = 610
● 133 = impossible car si B=3 ; chiffres = {0, 1, 2}
2 1 0
●
1235 =(1.5 + 2.5 + 3.5 )10 = 3810
3 2 1 0
●
11012 =(1.2 + 1.2 + 0.2 + 1.2 )10 = 1310
1 0
●
107 =(1.7 + 0.7 )10 = 710
15
Conversion décimal → Base B
Notre outil sera la division euclidienne
16
La division euclidienne
Si x,y sont des entiers et que
x=q.y+r
La division de x par y se note :
Exemple : 7 = 3 . 2 +1 et
y = diviseur
q = quotient
r = reste, r {0, 1, 2,…, y-1}
17
Divisions euclidiennes cascadées
●
Exemple 1 : 7 div 2
●
Exemple 2 : 330 div 5
18
Conversion décimal → Base B
Comment écrire le nombre X en base 10 dans la base B ?
Soit X10 = (dn-1 dn-2 ...d2 d1 d0 )B on cherche (dn-1 dn-2 ...d2 d1 d0 )
n-1 n-2 2 1
X10 = dn-1*B +dn-2*B +...+d2*B +d1*B +d0 = B+d0
.
n-2 n-3 1
Div par B => X10/B = dn-1*B +dn-2*B +...+d2*B +d1
19
Conversion décimal → Base B
Comment écrire le nombre X en base 10 dans la base B ?
Soit X10 = (dn-1 dn-2 ...d2 d1 d0 )B on cherche (dn-1 dn-2 ...d2 d1 d0 )
X10 = d n-1*B
n-1
+dn-2*B
n-2 2 1
+...+d2*B +d1*B +d0 = . B+d0
n-2 n-3 1
Div par B => dn-1*B +dn-2*B +...+d2*B +d1
2 n-3 n-4
Div par B => Div B => dn-1*B +dn-2*B +...+d2
...
n-1
Div par B => Div B => dn-1
En tableau:
20
Conversion décimal → Base B
=> Division euclidienne par B cascadée
● Exemple 1 : 710 = (111)2
21
exercices
● 510 = ?3
● 1910 = ?3
● 11710 = ?5
22
solutions
● 510 = 123
23
solutions
● 1910 = 2013
24
solutions
● 11710 = 4325
25
exercices
● 510 = ?5
● 210 = ?2
● 710 = ?7
● B10 = ?B
26
rappel
1) Conversion base B → Décimal
n-1 n-2 2 1 0
(dn-1 dn-2 ...d2 d1 d0 )B = (dn-1*B +dn-2*B +...+d2*B + d1*B +d0*B )10
27
Conversion : base B → base C
Méthode ?
28
Conversion : base B → base C
Méthode : (en 2 temps)
1) Conversion base B → Décimal
n-1 n-2 2 1 0
(dn-1 dn-2 ...d2 d1 d0 )B = (dn-1*B +dn-2*B +...+d2*B + d1*B +d0*B )10
29
exemple
123 =?5
● 1) 123 = 1 . 3 + 2 = 510
● 2) 510 = 105
30
exercice
● 1123 =?5
● 124 =?2
● 143 =?9
31
solutions
● 1123 = 1410 = 245
● 124 = 610 =1102
● 143 =?9 = impossible
32
Le système binaire
1- Conversion Binaire -> Décimal
33
1- Conversion Binaire -> Décimal
Conversion Binaire B=2 -> Décimal
10110011012 =?10
= 71710
34
2 - Conversion Décimal -> Binaire
Méthode 1 : la division successive par 2
35
2 - Conversion Décimal -> Binaire
Méthode 2 :Soustraction/cumul des Puissances de 2
●
Soustraction/cumul des Puissances de 2
EXEMPLE : 5310= ?2
101110102 = ?10
10102 = ?10
20102 = ?10
110010012 = ?10
000000112 = ?10
111112 = ?10
37
Conversion Binaire -> Décimal
Solutions
101110102 = 18610
10102 = 1010
20102 = impossible
110010012 = 20110
000000112 = 310
111112 = 3110
38
Exercices : Conversion Décimal → Binaire
1010 = ?2
11710 = ?2
25510 = ?2
74210 = ?2
39
SOLUTIONS: Conversion Décimal → Binaire
1010 = 10102
11710 = 11101012
25510 = 111111112
74210 = 10111001102
40
Grandeurs et nombre de chiffres
● Min(n)B = le plus petit nombre de n chiffres en
base B
● Max(n)B = le plus grand nombre de n chiffres en
base B
●
Tous les nombres à n chiffres se situent dans
l’intervalle : [Min(n)B , Max(n)B ]
41
Grandeurs et nombre de chiffres
En base base 10 : => intervalle des nombres à
Min(1)10 = 1 chiffre = ?
Max(1)10 =
Min(2)10 = 2 chiffres = ?
Max(2)10 =
Min(3)10 = 3 chiffres = ?
Max(3)10 =
Min(n)10 = n chiffres = ?
Max(n)10 =
42
Grandeurs et nombre de chiffres
En base base 10 : => intervalle des nombres à
Max(2)10 = 99
Min(3)10 = 100
3 chiffres = [100 , 999]
Max(3)10 = 999
Min(n)10 = ? n chiffres = ?
Max(n)10 = ?
43
Grandeurs et nombre de chiffres
En base base 10 : => intervalle des nombres à
Max(2)10 = 99
3 chiffres =[100, 999] = [102, 103-1]
Min(3)10 = 100
Max(3)10 = 999 n chiffres = [10n-1 , 10n-1]
Min(n)10 = 10n-1 n≥2
Max(n)10 = 10n-1
44
Grandeurs et nombre de chiffres
En base base 2 : => intervalle des nombres à
Min(2)2 = ? 2 chiffres = ?
Max(2)2 = ?
3 chiffres = ?
Min(3)2 = ?
Max(3)2 = ?
n chiffres = ?
Min(n)2 = ?
Max(n)2 = ?
45
Grandeurs et nombre de chiffres
En base base 2 : => intervalle des nombres à
48
exercices
● 11112 =?10
● 1111112 =?10
● 111111112 =?10
● 11111111112 =?10
49
solutions
● 11112 = Max(4)2 = (24-1)10 = 1510
● 1111112 = Max(6)2 = (26-1)10 = 6310
● 111111112 = Max(8)2 = (28-1)10 = 25510
● 11111111112 = Max(10)2 = (210-1)10 = 102310
50
En binaire si ...
Min(n)2 = (2n-1)10 => Min(n+1)2 = (2n)10 = Max(n)2 -1
Max(n)2 = (2n-1)10
=> 2n est le plus petit nombre de n+1 bits
51
En binaire si ...
Min(n)2 = (2n-1)10
Max(n)2 = (2n-1)10
=> 2n est le plus petit nombre de n+1 bits
=> tous les nombres compris entre [2n , 2n+1-1]
S'écrivent avec +1n bits
53
solutions
●
Combien faut-il de bits pour écrire en binaire :
– 8 ≤ 1210 nécessite 4 bits en écriture binaire
– 64 ≤ 7310 nécessite 7 bits en écriture binaire
– 64 ≤ 12710 nécessite 7 bits en écriture binaire
– 256 ≤ 31210 nécessite 9 bits en écriture binaire
– 256 ≤ 25710 nécessite 9 bits en écriture binaire
– 1024 ≤ 102410 nécessite 11 bits en écriture binaire
54
Conversion Décimal -> Binaire
●
Convertir en binaire
● 25410 =
● 10910 =
● 110010 =
● 22110 =
● 3410 =
●
NB : Pour chaque calcul, indiquer le nombre de bits
nécessaires.
55
Conversion Décimal -> Binaire
●
Convertir en binaire
● 25410 = 1111 1110
● 10910 = 110 1101
● 110010 = 100 0100 1100
● 22110 = 1101 1101
● 3410 = 10 0010
●
NB : Pour chaque calcul, indiquer le nombre de bits
nécessaires.
56
Système Hexadécimal
58
Conversion Décimal-> Hexadécimal
Methode 1 :Divisions successives par 16
Résultat = 39616
59
Conversion Décimal-> Hexadécimal
Methode 2 :Recherche des plus hautes
puissances de 16
Exemple
67510 = 2*162 + A * 161 + 3 *160 = 2A316
60
Conversion Hexadécimal <->Binaire
Il s'agit de conversions « faciles »
●
Binaire → Hexadécimal : à 4 bits d'un binaire
correspond un chiffre hexadécimal :
1010-0111-10012 = A -7- 9 = A7916
●
Hexadécimal → Binaire : à chaque chiffre
hexadécimal correspond 4 bits d'un binaire
F 9 6 B16 = 1111 1001 0110 10112
61
Exercices :Hexadécimal ↔ décimal
●
Convertir
F0016 =?10
A1C16 =?10
1BB16 =?10
1AD16 =?10
27 10 =?16
74 10 =?16
238 10 =?16
255 10 =?16
62
solutions
F0016 =384010
BD16 =18910
10B16 =26710
1AD16 =42910
63
Solutions
27 10 = 1 10112 =1B16
100001012 =?16
101111101012 =?16
10000112 =?16
11110101112 =?16
65
solutions
1A16 =110102 = 0001 10102
AA16 =101010102
1A116 =1101000012 = 0001 1010 00012
66
exercices
●
Lorsque l'on passe d'un codage
(= représentation de valeurs) sur « n » bits à un
codage sur « n+1 » bits quel est l'effet sur le
nombre de valeurs que l'on peut représenter ?
67
solution
Le nombre de valeurs représentables double
lorsque l'on ajoute 1bit
– N bits = 2n nombres dans [0 ; 2n-1]
– N+1 bits = 2n+1 =2 x 2n nombres dans [0 ; 2n+1-1]
68
Exercices
●
Conversion vers le décimal
● 12016 =
● FE16 =
● A1C16 =
● 1BB16 =
● A616 =
● BB16 =
69
Exercices : solutions
●
Conversion vers le décimal
● 12016 = 288
● FE16 = 254
● A1C16 = 2588
● 1BB16 = 443
● A616 = 166
● BB16 = 187
70
Exercices
Convertir en binaire ou décimal :
Pour les conversions vers le binaire, de combien de bits doit-on disposer ?
29410 = ?2 ( ?bits)
11002 = ?10
10910 = ?2 (?bits)
1100001102 = ?10
110010 = ?2 (?bits)
22110 = ?2 (?bits)
3410 = ?2 (?bits)
71
Solutions
Convertir en binaire ou décimal :
Pour les conversions vers le binaire, de combien de bits doit-on disposer ?
72