Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Calcul Binaire

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 72

Partie 1 :

Calcul Binaire et Hexadécimal

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 :

Exemple : MCMLXXXIX = 1989

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

Le rôle spécial du Zéro ( 0) !

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 :

B =2 avec pour chiffres les symboles {0 ,1}

Un chiffre = un Bit ( binary digit) peut valoir soit 0, soit 1

Vocabulaire :

Octet (= byte, en général) = 8 bits (exemple code ASCII)


Note 1MB = 1 megabyte et 1Mb = 1 mégabit
1MO = 1 mégaoctet

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

Exemple : en base 10:

147310 = 1 * 103 + 4 * 102 + 7 * 101 + 3 * 100


= 1* 1000 +4* 100 + 7*10 +3*1 = 1473 10
Exemple : en base 3:

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

● Exemple 2 : 33010 = (2310)5

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

2) Conversion décimal → Base B


= Division euclidienne par B cascadée

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

2) Conversion décimal → Base C


= Division euclidienne par B cascadée

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

2- Conversion Décimal-> Binaire : 2 Méthodes

M1 : divisions successives par 2

M2 : soustraction des puissances de 2

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

Exemple pratique de conversion décimale vers binaire :


Conversion de 2410 en binaire = 110002

35
2 - Conversion Décimal -> Binaire
Méthode 2 :Soustraction/cumul des Puissances de 2


Soustraction/cumul des Puissances de 2

EXEMPLE : 5310= ?2

5310= 32 + 16 +4 +1 = 25 +24 +22 +20 = 1101012


Question : Combien de bits nécessaires pour écrire 5310 ?
36
Exercices : Conversion Binaire -> Décimal

Convertir en décimal ( base 10) :

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

Convertir en binaire ( base 2) :

1010 = ?2
11710 = ?2
25510 = ?2
74210 = ?2

39
SOLUTIONS: Conversion Décimal → Binaire

Convertir en binaire ( base 2) :

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 à

Min(2)10 = 10 2 chiffres = [10 , 99]

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 à

Min(2)10 = 10 2 chiffres = [10 , 99] = [101, 102-1]

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 à

Min(2)2 = 102 = 210 2 chiffres = [2 , 3]

Max(2)2 = 112 = 310


3 chiffres = [4 , 7]
Min(3)2 = 1002 = 410
Max(3)2 = 1112 = 710
n chiffres = ?
Min(n)2 = ?
Max(n)2 = ?
46
Grandeurs et nombre de chiffres
En base base 2 : => intervalle des nombres à

Min(2)2 = 102 = 210 2 chiffres = [2 , 3]

Max(2)2 = 112 = 310


Min(3)2 = 1002 = 410
3 chiffres = [4 , 7]
Max(3)2 = 1112 = 710
Min(n)2 = (2n-1)10 n bits = [2n-1 , 2n-1]
Max(n)2 = (2n-1)10 n≥2
47
En binaire si ...
Min(n)2 = (2n-1)10
Max(n)2 = (2n-1)10

Que vaut 11112 en décimal (?10)


Réponse : 11112 est le plus grand nombre de 4 bits
= Max(4)2
= (24-1)10 = (15)10

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

Méthode : pour calculer le nb de bits nécessaire pour représenter X10 :


trouver dans la série des 2n le plus grand 2n qui est inférieur ou égal à X10

exemple: combien de bits faut-il pour représenter 4710 en binaire ?


Chercher le plus grand 2n qui est inférieur ou égal à 4710
25 = 32 < 4710 < 26 = 64
Réponse : 6 bits
52
exercices

Combien faut-il de bits pour écrire en binaire :
– 1210
– 7310
– 12710
– 31210
– 25710
– 102410

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

Comparaison entre système binaire, décimal et hexadécimal


57
Conversion Hexadécimal->Décimal

Exemple

● FB316 = F*162 + B*16 + 3*160


= 15 * 256 + 11 * 16 + 3
= 3840 + 176 +3 = 4019

58
Conversion Décimal-> Hexadécimal
Methode 1 :Divisions successives par 16

● Exemple : conversion de 91810 en base 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

74 10 = 100 10102 = 4A16

238 10 = 1110 11102 = EE16

255 10 = 1111 11112 = FF16


64
Exercices :Hexadécimal <->Binaire

Convertir
1A16 = ?2
AA16 = ?2
1A116 = ?2

100001012 =?16
101111101012 =?16
10000112 =?16
11110101112 =?16

65
solutions
1A16 =110102 = 0001 10102
AA16 =101010102
1A116 =1101000012 = 0001 1010 00012

1000 01012 =8516


101 1111 01012 =5F516
100 00112 =4316
11 1101 01112 =3D716

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 ?

29410 = 1001001102 (9bits)


11002 = 1210
10910 = 11011012 (7bits)
1100001102 = 39010
110010 = 100010011002 (11bits)
22110 = 110111012 (8bits)
3410 = 1000102 (6bits)

72

Vous aimerez peut-être aussi