Chapitre 2 Cours D'informatique
Chapitre 2 Cours D'informatique
Chapitre 2 Cours D'informatique
Université My Ismail
SMIA S1
Cours d’informatique I
10/10/2022
1
Chapitre II: Système de
numération et codage de
l’information
10/10/2022 2
Principe du codage de l’information
I. Définitions
• Les informations traitées par les ordinateurs sont de
différentes natures : Textes, nombres, images, vidéo,
sons, programmes,…
10/10/2022 4
II. Représentation des informations
2.1 Représentations externes (langage naturel ou humain)
On distingue plusieurs types dans la représentation externe:
❑ Représentation usuelle : base 10. les symboles utilisés
sont {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
10/10/2022 6
2.3 Base d’un système de numération
En décimal, b=10.
10/10/2022 7
2.4 Forme polynomiale
( N )b = a n b n
+ a n −1b n −1
+ + a 1b + a 0 b
1 0
avec 0 a i b − 1
cette forme est appelée forme polynomiale
Soit l’écriture simplifiée :
( N )b = (an a 0 )b
10/10/2022 8
2.4 Forme polynomiale
9
10/10/2022
Pour le système décimal (b =10)
• Le système décimal est composé de dix symboles
(appelés chiffres): {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
• Un nombre décimal s'écrit comme une séquence de
chiffres : an ………… a0
• Le poids de chaque chiffre dépend de sa position dans le
nombre décimal considéré. Il est égal à l'exposant de la
base qui lui est associée dans la forme polynomiale du
nombre considéré N.
• Le chiffre de droite s'appelle le chiffre le moins significatif
(à poids faible), celui de gauche s'appelle le chiffre le plus
significatif (à poids fort).
10/10/2022 10
• La séquence ‘541’ et la séquence ‘145’ ne représentent
pas le même nombre décimal car les poids des chiffres
ne sont pas les mêmes.
• Selon la forme polynomiale, nous pouvons écrire :
n
N = a i10i où a i 0,1, 2,3, 4,5, 6, 7,8,9
i =0
Exemple: (496)10 =4 x 102+9 x 101 + 6 x 100
10/10/2022 11
Pour le Système binaire (b = 2)
• C'est le système le plus utilisé en électronique numérique.
Il comprend deux symboles {0,1} appelés bits.
• Un nombre binaire s'écrit de la façon suivante :
N = (an a 0 )2 où a i 0,1
10/10/2022 12
Exemple : (101010)2 ; (10111)2
Remarque :
oUn nombre binaire de 4 bit est appelé quartet. Exemple:
1010
oUn nombre binaire de 8 bit est appelé octet. Exemple:
10011110
oUn nombre binaire de 16 bit est appelé Mot.
Exemple : 1001111011101110
10/10/2022 13
Pour le système octal (b = 8)
• Ce système dispose de huit symboles : {0,1,2,3,4,5,6,7}.
• De la même manière, un nombre octal s'écrit:
N = (an a 0 )8 où a i 0,1, 2,3, 4,5, 6, 7
10/10/2022 14
Pour le système hexadécimal (b = 16)
10/10/2022 15
n
N = a i16i où a i 0,1, 2,3, 4,5, 6, 7,8,9, A, B, C, D, E, F
i =0
Exemple : (12EC)16
➢Notation
Pour différencier les nombres binaires, décimaux et
hexadécimaux, on précise leur base en indice, en bas à
droite du nombre.
Exemples :
(100111)2 est un nombre …Binaire……… .
(10191)16 est un nombre …Hexadécimal.. .
(10981)10 est un nombre …Décimal..……. .
10/10/2022 16
III. Changement de base
10/10/2022 17
3.1.1 Conversion décimale vers binaire :
Nous avons vu, d'après la forme polynomiale,
qu’un nombre binaire s'écrit :
n
N = ai 2 i
où a i 0,1
i =0
10/10/2022 18
➢Première méthode: Méthode des divisons successives.
10/10/2022 19
(125)10=?
Division Quotient Reste
125/2 62 1 a0
62/2 31 0 a1
31/2 15 1 a2
15/2 7 1 a3
7/2 3 1 a4
3/2 1 1 a5
1/2 0 1 a6
(125)10=(1111101)2
10/10/2022 20
➢Deuxième méthode : Méthode des soustractions
successives.
La plus grande puissance de 2 qui est inférieure ou
égale à N est soustraite à N.
Le processus de soustraction est répété sur le reste de la
différence, jusqu’à obtenir un résultat égale à 0.
On écrit N comme une somme de puissances entières de 2
depuis la plus grande apparaissant, dans l’ordre
décroissant des puissances.
10/10/2022 21
Exemple: Convertir le nombre décimal (36)10 en binaire
(36)10 =?
20=1, 21=2, 22=4, 23=8, 24=16, 25=32, 26=64
36 - 32 = 4 et 4 - 4 =0
(36)10 = 32 + 4 = 25 + 22
Notons que les termes 24, 23, 21, 20 sont absents. Nous en
concluons que
10/10/2022 22
3.1.2 Conversion d'un nombre décimal en octal
De la même manière, par une suite de divisions
successives par 8, on convertit un nombre décimal en
octal.
Exemple: Convertir le nombre décimal (65)10 en octal
10/10/2022 23
3.1.3 Conversion d'un nombre décimal en hexadécimal
De la même manière, par une suite de divisions successives
par 16, on convertit un nombre décimal en hexadécimal.
Exemple: Convertir le nombre décimal (65)10 en
hexadécimal
Division Quotient Reste
65/16 4 1 a0
4/16 0 4 a1
(65)10 = (41)16
(65)10 = (1000001)2= (101)8 = (41)16
10/10/2022 24
Exemples :
Convertir (369)10 en base 2,en base 8 et en base 16.
MSB
MSB (Bit le plus significatif )
Base 8 Base 16
369 8 379 16
r0 = 1 46 8 11 23 16
r1 = 6 5 8 7 1 16
r2 = 5 0 1 0
(369)10 = (r2r1r0)8 = (561)8 (379)10 =(17B)16
10/10/2022
26
3.2 Passage de la base b vers une base 10
10/10/2022 27
Exemple : convertir les nombres suivants en leur
équivalent décimal
(10111)2 (11111)2 (11010)2
(10111)2 = 1 x 24+0 x 23 + 1 x 22 + 1 x 21 + 1 x 20
= 1 x 16+ 0 x 8 +1 x 4 + 1 x 2 + 1 x 1
= 16 + 0 + 4+ 2 +1
= (23)10
(11111)2 = (31)10
(11010) 2= (26)10
10/10/2022 28
3.2.2 Conversion d'un nombre octal en décimal :
utiliser l’écriture polynomiale avec b=8
Exemple: (2145)8 (27)8 (134)8
(2145)8 = 2x 83+1 x 82 + 4 x 81 + 5 x 80
= 2 x 512+1x 64 +4 x 8 + 5 x 1
= 1024+64 +32 + 5
= (1125)10
(27)8= (23)10
(134)8= (92)10
(144)8 =(100)10
(200)8 =(128)10
10/10/2022 29
3. 2.3 Conversion d'un nombre hexadécimal en décimal
utiliser l’écriture polynomiale avec b=16
10/10/2022 30
Exemples de passage d’une base b vers la base 10
Dans un nombre binaire, la valeur d'un bit dépend de sa position en partant de la
droite. Comme pour les dizaines, les centaines et les milliers pour un nombre
décimal, le poids d'un chiffre croît d'une puissance de 2 en allant de la droite vers
la gauche et en commençant par 0.
Nombre 1 1 1 1
position 3 2 1 0
valeur 23 = 8 22 = 4 21 = 2 20 = 1
10/10/2022 32
Tableau de correspondance Octal\Binaire
Octal Binaire
2 22 12 0
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
10/10/2022 33
Exemple: Convertir les nombres binaires suivants en octal
:
a) (100111010001)2 ; b) (101110011101)2; c) (10111)2
Exemple :
(10011011110)2 = (10011011110)2 = (4 DE)16
10/10/2022 36
Tableau de correspondance Hexadécimal\Binaire
Hexadécimal Binaire
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
10/10/2022 F 1111 37
Exemple : Convertir les nombres binaires suivants en
hexadécimal :
a) (110011010001)2 ; b) (101011001101)2
10/10/2022 38
3.6. Conversion hexadécimal vers binaire
Cela consiste à remplacer à chaque caractère du nombre
hexadécimal par son équivalent binaire sur 4 bits ( en
complétant éventuellement par des zéros).
Exemple 1
(B5F3)16 = (1011010111110011)2
10/10/2022 39
3.7. Conversion octal vers hexadécimal et vice versa
10/10/2022 40
Exemple: (54)8=(2C)16 ; (4D)16=(115)8
(578)8
(55)8=(125)16 (3A)16=(72)8
10/10/2022 41
Exercice
10
01100100
065
A74
10/10/2022 42
Exercice
10
100 144 64
01100100
53 110101 35
065
2676 101001110100 5164
A74
10/10/2022 43
4. Codage des informations
Les informations traitées par les ordinateurs peuvent être:
des nombres,
du texte, des images, du son…
4. 1 Codage des informations numériques
Dans le codage numérique on distingue trois type:
▪ le codage des entiers naturels
▪ Le codage des entiers relatifs
▪ Le codage des réels.
45
10/10/2022
Codage des informations.
46
10/10/2022
Codage des informations.
4. 1. 2. 1 Code binaire signé
Dans ce code on introduit la notion du signe. Le bit le
plus significatif MSB est utilisé pour représenter le
signe du nombre :
si le MSB = 0 alors le nombre est positif
si le MSB = 1 alors le nombre est négatif.
Autrement si on travail sur n bits , alors le bit du poids
fort ou dite le plus significatif MSB est utilisé pour
indiquer le signe . Les autres bits n-1 désignent la
valeur absolue du nombre.
S Valeur absolue
47
10/10/2022
4. Codage des informations.
4.1. 2. 1 Code binaire signé
Exemple :
sur un octet (8 bits), représenter (-24)10 ,(-5),(13) ,(-128)10 en binaire
signé
(-24)10 = (10011000 )bs ; (+13)10= (00001101)bs ; (-5)10 = (10000101)bs
(-128)10 hors limite → nécessite 9 bits au minimum.
Inconvénient : 0+= 00000000 deux représentations
0 -= 10000000 pour 0
❖Le zéro possède deux représentations +0 et -0 ce qui conduit à des
difficultés au niveau des opérations arithmétiques.
❖encore sur 4bits +0=0000)bs -0=1000)bs
❖multiplication et addition sont moins évidentes.
Étendu de codage : Avec n bits on peut coder les nombres entre
( - 2n-1+1 ) et ( 2n-1-1 ).
48
10/10/2022
4. Codage des informations.
4.1. 2. 1 Code binaire signé
Exemples:
▪ Coder 100 et -100 en binaire signé sur 8 bits.
100)10=01100100)bs
-100)10=11100100)bs
▪ Décoder en décimal (11000111)bs et (00001111)bs:
(11000111)bs=-71)10
(00001111)bs= +15)10
49
10/10/2022
Etendu de codage Binaire signé
Sur 3 bits on obtient :
signe VA valeur
0 00 +0
0 01 +1
0 10 +2
0 11 +3
1 00 -0
1 01 -1
1 10 -2
1 11 -3
10/10/2022 51
Codage des informations.
4.1. 2. 2 Code binaire Complément à 1
Inconvénients:
▪ Deux codages différents pour le 0 ( +0 et -0):
Sur 8 bits +0=00000000)cà1 -0=11111111)cà1
▪ Multiplication et addition sont moins évidentes.
10/10/2022 52
Codage des informations.
4.1. 2. 2 Code binaire Complément à 1
Exemples :
▪ Coder 100 et -100 par complément à 1 sur 8 bits:
100)10=01100100)cà1
-100)10=10011011)cà1
▪ Décoder en décimal (11000111)cà1 et (00001111)cà1:
(11000111)cà1=-56)10
(00001111)cà1= +15)10
10/10/2022 53
IV- Codage des informations.
Etendu de code complément à 1
Si on travail sur 3 bits : Valeur en CA1 Valeur décimale
000 +0
001 +1
010 +2
011 +3
100 -3
101 -2
110 -1
111 -0
10/10/2022 54
4. Codage des informations.
4. 1. 2. 3 Code complément à 2
Appelé Complément Arithmétique (CA) ou Complément Vrai (CV):
✓Les nombres positifs sont codés de la même façon qu’en binaire
pure.
✓Un nombre négatif est codé en ajoutant 1 à son complément à
1.
✓Le bit le plus significatif est utilise pour représenter le signe du
nombre.
Exemple 1: -24 en complément à 2 sur bits
Exemple 2 : sur 8 bits, représenter + 16 et –16 en
24 est codé par (00011000)bp complément à 2.
-24 (11100111)cà1+16 est codé par 00010000
- 16 est codé par 10010000 en binaire signé
-24 est codé par (11101000)cà2 - 16 est codé par 11101111 en complément à 1
- 16 est codé par 11110000 en complément à 2
10/10/2022 55
4. Codage des informations.
4. 1. 2. 3 Code complément à 2
Avantage:
Un seul codage pour 0, par exemple sur 8 bits
+0 est codé sur 00000000)cà2
-0 est codé sur 11111111)cà1
Donc -0 sera représenté par 00000000
Etendu de codage:
Sur un octet, on peut coder entre -128 et +127:
+0=00000000 -0=00000000
+1=00000001 -1=11111111
…….. …….
+127=01111111 -128=10000000
10/10/2022 56
IV- Codage des informations.
Etendu de code complément à 2
• Si on travail sur 3 bits : Valeur en CA2 Valeur décimale
000 +0
001 +1
Les valeurs sont comprises
010 +2
entre -4 et +3 011 +3
-4 ≤ N ≤ +3 100 -4
- 4 ≤ N ≤ + (4 -1 ) 101 -3
- 22 ≤ N ≤ +(22-1 ) 110 -2
-2 (3 -1) ≤ N ≤ (2 (3 -1) -1 ) 111 -1
10/10/2022 58
Codage des informations.
Remarque
0+ = 00000000 Binaire signé
0 -= 10000000
+
1 11111111 C à 1
00000001 C à 2
00000000
• Alors en complément à 2, on a une seule représentation de 0.
Avec 8 bits on peut coder les nombres entres – 128 (-2n-1) et
127 (2n-1-1).
(- 128)10 est représenté en C à 2 (par convention) par 10000000,
c’est la combinaison restante.
• La représentation en complément à deux
(complément à vrai) est la représentation la plus
utilisée pour la représentation des nombres négatifs
dans la machine.
10/10/2022 59
4. Codage des informations.
4. 1. 3. Codage des réels (nombres fractionnaires)
Un nombre fractionnaire est un nombre composé de deux parties :
la partie entière et la partie fractionnaire.
N = (anan-1…a1a0,a-1a-2…a-m)b
Le codage des réels s’agit de représenter sur machine des réels
Ayant une partie fractionnelle (Mais pas tous les réels) : Car on ne
peut pas toujours obtenir une conversion en un nombre fini de
chiffres pour la partie fractionnaire.
Exemple : 3.125 105, 0.2541…, 9.1254, 13,125, (1101,101)2
(75,14)8 , (F,7)16
Il existe deux représentations :
➢ Codage en virgule fixe
➢Codage en virgule flottante
60
10/10/2022
4. Codage des réels (nombres fractionnaires)
4.1.3.1 Codage en virgule fixe
✓Utilisation de codage binaire.
✓On code la partie entière sur p bits
✓Et la partie fractionnaire sur q bits.
MSB 2xxxxxxx.xxxxxx
p-1 LSB
20,2-1 2-q
10/10/2022 62
Conversion d'un nombre décimal réel en base b.
Exemple 1: Convertir le nombre 12,6875 en binaire
Conversion de 12 donne (1100)2
Conversion de 0,6875
0,6875 x 2 = 1,375 = 1 + 0,375
0,375 x 2 = 0,75 = 0 + 0,75
0,75 x 2 = 1,5 = 1 + 0,5
0,5 x 2 = 1 = 1 + 0
(12,6875)10 = (1100,1011)2
10/10/2022 63
Conversion d'un nombre décimal réel en base b.
(5.125)10 en base 2 ?
(5 )10 = (101)2
0.125 * 2 = 0.25 = 0 + 0.25
0.25 * 2 = 0.50= 0 + 0.5
0.5 * 2 = 1.0 = 1 + 0.0 arrêt
On lit de haut en bas : (0.125)10 = (0.001)2
donc (5.125)10 = (101.001)2
10/10/2022 64
64
Conversion d'un nombre décimal réel en base b.
Exemple 3 : Convertir le nombre 13,25 en octal
Conversion de 13: donne (15)8
Conversion de 0,25
0,25x8=2
(13,25)10=(15,2)8
10/10/2022 65
Conversion d'un nombre décimal réel en base b.
Conversion de 0,3046875
0,3046875 x 16 = 4,875 = 4 + 0,875
0,875 x 16 = 14,0 = 14 + 0
(171,3046875)10 = (AB,4E)16
10/10/2022 66
Conversion réel base B en décimal
La valeur en décimal d'un tel nombre est alors donnée par
le calcul de
an bn + an-1 bn-1 + ... +a1 b1 + a0 b0+ a-1 b-1 +
a-2 b-2 + ...+ a-m+1 b-m+1 + a-m b-m
Exemple:
Convertir les nombres suivants en décimal :
10/10/2022 67
a) (101,101)2 = 1 x 22 + 0 x 21 + 1 x 20 + 1 x 2-1
+ 0 x 2-2 + 1 x 2-3
= 4 + 1 + 0,5 + 0,125
= 5,625
b) (76,4)8 =7 x 81 + 6 x 80 + 4 x 8-1
= 56 + 6 + 0,5
= 62,5
c) (AB,4E)16 = 10 x 161 + 11 x 160 + 4 x 16-1 + 14 x 16-2
= 160 + 11 + 4 x 0,0625 + 14 x 0,00390625
= 171,3046875
10/10/2022 68
10/10/2022 69
4.1.3.2 Codage en virgule flottante
Les nombres réels à virgule flottante peuvent être présenter par
l’expression suivante:
x = ± M . 2E
10/10/2022 71
Codage en virgule flottante ( Norme IEEE 754)
La norme IEEE 754 permet de représenter des nombres à virgule (i.e.
des nombres réels).
Ces nombres sont importants dans les ordinateurs puisqu’ils
permettent de faire du calcul scientifique, de la comptabilité, de la
gestion…
Il est donc nécessaire de trouver un moyen de les représenter dans
les ordinateurs. On représente généralement ces nombres au moyen
des symboles suivants :
- Chiffres « 0 1 2 3 4 5 6 7 8 9 »
- Virgule « , »
72
10/10/2022
Codage en virgule flottante ( Norme IEEE 754)
10/10/2022 73
Codage en virgule flottante ( Norme IEEE 754)
Nombres à virgule en binaire
En décimal :
0,1 est une autre notation pour 10-1
1,305 peut aussi s’écrire
1*100 + 3*10-1 + 0*10-2 + 5*10-3
En binaire :
0,1 est une autre notation pour 2-1
11,101 peut aussi s’écrire
1*21 + 1*20 + 1*2-1 + 0*2-2 + 1*2-3 = 2 + 1 + 1/2 + 0 + 1/8
74
10/10/2022
74
4. Codage en virgule flottante ( Norme IEEE 754)
Histoire de l’IEEE754
Maintenant, on sait coder les nombres à virgule en binaire.
Mais si je vous donne le nombre (11010,001101)2, vous ne
pouvez toujours pas le faire rentrer dans votre ordinateur…
Que feriez-vous de la virgule ?
Le standard IEEE 754 (Institute of Electronic and Electrical
Engineers) de simple précision est le suivant :
1. le premier bit (s) est le signe du nombre
2. Ensuite 8 bits représentant e, l'exposant en code excédant
127.
3. Les 23 bits suivants représentent la partie fractionnaire f de
la mantisse normalisée. Il s’agit d’une mantisse normalisée
m de la forme
m = 1,f telle que 1 <= m < 2.
75
10/10/2022
4. Codage en virgule flottante ( Norme IEEE 754)
76
10/10/2022
4. Codage en virgule flottante ( Norme IEEE 754)
Les différentes précisions de l’IEEE754
Nous l’avons vu, la précision des nombres que l’on peut coder
dépend du nombre de bits que l’on met dans l’exposant et
dans la mantisse. La norme IEEE754 définit 3 formats de
précisions. Les deux les plus courants sont :
Simple précision : 8 bits pour l’exposant (excès de 127)
et 23 bits de mantisse
77
10/10/2022
77
4. Codage en virgule flottante ( Norme IEEE 754)
Encodage en IEEE754 par l’exemple
Essayons d’encoder le nombre +16,5 en simple précision.
1) Encoder en binaire le nombre à virgule
16,5 = (10000,1)2
2) Transformer en notation scientifique (souvenez-vous que décaler la
virgule revient à multiplier/diviser par 2) (normalisation)
(10000,1)2 = (1,00001*24)2
3) Identifier les champs
signe = 0 (positif)
exposant = 4 et exposant interne( biaisé)= 4 + 127 = 131
mantisse sur 23 bits= 00001000000000000000000 (on ne prend pas le
1,)
4) Encoder l’exposant
4 doit être codé sur 8 bits par excès de 127 => on encode
131 = (1000 0011)2
78
10/10/2022
4. Codage en virgule flottante ( Norme IEEE 754)
5) Résultat final
(On écrit tous les 0 à la fin de la mantisse pour faire 32 bits au total)
0 10000011 00001000…
41840000
79
10/10/2022
4. Codage en virgule flottante ( Norme IEEE 754)
80
10/10/2022
4. Codage en virgule flottante ( Norme IEEE 754)
5) Résultat final
(En contrôle, écrire tous les 0 à la fin pour faire 32 bits)
(0 10000000 1100000000000000000000)IEEE
40 60 00 00
81
10/10/2022
10/10/2022 82
10/10/2022 83
Donnez la représentation flottante en double précision des nombres:
1; -64; 12,06640625
1)
Pour le nombre 1
S=0
1=1)2
1=(1,0)20
M=0000…00 et E=0
Eb=E+1023=1023
1023=01111111111
Finalement
1 → 0 011111111110000..00
Pour le nombre
-64/
10/10/2022 84
Caractéristiques des nombres flottants au standard IEEE
10/10/2022 85
Exercices d’application
Conversion en virgule flottante IEEE 754 (32 bits)
1. Quelle est la valeur décimale des représentations
binaires suivantes :
a. 1 10000010 11110110000000000000000
b. 01000000111100000000000000000000
c. 11000010000011100000000000000000
d. 0 10000010 11000000000000000000000
2. Quelle est la représentation binaire de chaque nombre
décimale suivants :
a. 3.15
b. -123.75
c. 6.125
10/10/2022 86
Exercices d’application
a. le 1ère bit est 1 donc le nombre est négatif.
Les 8 bits suivants 10000010 =130=Eb, donc
E =Eb-127=3.
3. La mantisse M = 11110110000…0.
Finalement le nombre est
-1,11110110 * 2 3= -1111,10110
= -15,6875
b. -123,75 = 1111011,11
-123,75 = -1,11101111 * 26
Donc Eb=127+6=133=10000101
Finalement le codage de -123,75 est
1 10000101 1110111100…0.
10/10/2022 89
Exercices d’application
10/10/2022 90
10/10/2022 91
Système BCD : Binary coded decimal
Le Décimal codé binaire DCB ( Binary coded decimal Ou BCD en
anglais) est uns système de numération utilisé en électronique et en
informatique pour coder des nombres en se rapprochant de la
représentation humaine usuelle, en base 10.
Ce code conserve les avantages du système binaire naturel et du
système décimal. Chaque chiffre du code décimal est représenté par
un quartet binaire ( codé sur quatre bits).
0 1 2 3 4 5 6 7 8 9
0000 0001 0010 0011 0100 010 011 011 1000 1001
1 0 1
10/10/2022 92
Système BCD : Binary coded decimal
Remarque: Puisque on compte en base 10 la valeur la plus élevée
dans un quartet est 910= (1001)2
Exemple: Le chiffre 857 sera donc représenté par :
0 1 0 0 1
0 1 0 0 1 +
+ +9
+9 1 1 1 0 0
0 0 1 0 0 -4
+4
+5
+ 13 1 0 0 1 0 1
0 1 1 0 1
(01101)2= ( 13)10
Le résultat est positif
(00101)2= ( 5)10
10/10/2022 95
4.2. 1 Addition et soustraction en Complément à 2
1 0 1 1 1 1 0 1 1 1
-9 + -9 +
1 1 1 0 0 0 1 0 0 1
-4 +9
- 13 +0
1 1 0 0 1 1 1 0 0 0 0 0
Report Report
= - 13 (00000)2= ( 0)10
10/10/2022 96
Cas de débordement
0 1 1 0
0 1 0 0 1 1 0 1 1 1
+9 + +
-9
0 1 0 0 0 1 1 0 0 0
+8 -8
+ 17 1 0 0 0 1 - 17
0 1 1 1 1
Négatif
Positif
99
10/10/2022
4. 2. 3 La retenue et le débordement
10/10/2022 100
Applications
10/10/2022 101
Applications
On commence par écrire les nombres positifs en base 2 sur 8
bits, en procédant avec des divisions par 2 successives. A
partir de là si l’on veut le nombre avec un signe moins, on
prend le complément et l’on ajoute 1. Puis on additionne les
nombres concernés.
a) 61 = 00111101 – 61 = 11000011
44 = 00101100 – 44 = 11010100
Par addition :
11000011
+11010100
110010111 , on supprime le bit de trop. On a bien 10010111 =
– 128 + 16 + 4 + 2 + 1= – 105 et – 61 – 44 = – 105
10/10/2022 102
Applications
b) 72 = 01001000 – 72 = 10110111
– 61 11000011
– 72 10111000
– 133 101111011 , on supprime le bit de trop, le
résultat est faux (il est positif). Il y a débordement
(overflow) : on est en dehors de la zone entre –127
et +127 correspondant aux nombres signés de 8
bits. Cela peut se tester en constatant que les deux
dernières retenues à
gauche sont 10.
10/10/2022 103
Applications
c) 99 = 01100011 35 = 00100011 – 35 = 11011101
99 01100011
– 35 11011101
64 101000000 , on supprime le bit de trop. Le
résultat est juste (c’est toujours le cas pour une vraie
soustraction puisqu’il ne peut pas y avoir overflow).
d)
99 01100011
35 00100011
134 10000110 , aucun bit de trop, mais le résultat
est faux (il est négatif). Il y a overflow (le résultat 134
n’est pas dans la zone de -127 à 127.
10/10/2022 104
4.3 Codage des caractères (code ASCII)
10/10/2022 105
4.3 Codage des caractères
• ASCII (American Standard Code for Information
Interchange):
• 7 bits pour représenter 128 caractères ( 0 a 127)
• 48 à 57 : représentent les chiffres dans l’ordre (0,1,…,9)
• 65 à 90 : représentent les alphabets majuscules (A,…,Z)
• 97 à 122 : représentent les alphabets minuscule (a,…z)
10/10/2022 106
4. 3 Codage des caractères
• UNICODE:
• Mis au point en 1991
• 16 bits pour représenter 65 536 caractères (0 à 65535)
• Compatible avec ASCII
• Code la plupart des alphabets : Arabe, Chinois, …
10/10/2022 107
4. 3 Code ASCII (128 Caractères)
Exemple:
Le code (41)16 = (0100 0001)2 correspond au caractère A
Le code (61)16 = (0110 0001)2 correspond au caractère a
Le code (3F)16 = (0011 1111)2 correspond au caractère ?
10/10/2022 108
4. 3 Code ASCII etendu
10/10/2022
UNICODE
10/10/2022
APPLICATION
Ce ne sont que des bits !!!
10/10/2022
APPLICATION bits !!!
10/10/2022
4. 4 Codage des Images Bitmap
Image : décomposée en pixels
Chaque pixel : codage de la couleur
▪ Avec 1 bit/pixel : image Noir et Blanc
▪ Avec 1 octet/pixel : 256 couleurs
Exemple :
10/10/2022 113
Comment coder ce dessin sous forme de suite
Comment coder ce dessin sous
forme de suite de nombres?
10/10/2022
Comment coder ce dessin sous forme de suite
Comment coder ce dessin sous
forme de suite de nombres?
10/10/2022
Comment coder ce dessin sous forme de suite
Comment coder ce dessin sous
forme de suite de nombres?
10/10/2022
Comment coder ce dessin sous forme de suite
Comment coder ce dessin sous
forme de suite de nombres?
10/10/2022
Comment coder ce dessin sous forme de suite
Comment coder ce dessin sous
forme de suite de nombres?
10/10/2022
4. 5 Codage du son
10/10/2022