Vous êtes sur la page 1sur 47

Filière : DUT-GP1-1ère année-S2

Chapitre 0 : Codage de l'information

1
Plan

1 Introduction

2 Les bases de numérotation

3 Codage de l'information

4 Opérations sur les bases

Codage de l'information 2
Introduction

Plan

1 Introduction

2 Les bases de numérotation

3 Codage de l'information

4 Opérations sur les bases

Codage de l'information 3
Introduction

Introduction

Nous avons pris l'habitude de représenter les nombres en utilisant dix


symboles: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Cette base de numération est appelée base décimale ou base 10.
Au niveau de l'ordinateur, les diérents composants communiquent en
envoyant une suite composée de 2 états (avec courant électrique ou
sans courant).
⇒ Ces états sont représentés par les nombres 0 et 1 → Base binaire ou
base 2.
Ces 0 et 1 sont appelés bit pour binary digit
L'ordinateur comprend uniquement des nombres en base 2.

Codage de l'information 4
Introduction

Pourquoi étudier les bases de numérotation?

Pour faciliter l'écriture des programmes informatiques, les informaticiens


ont convenu de regrouper les bits par 8, car il fallait regrouper par un
nombre qui soit une puissance de la base 2 (8 = 23 )
C'est la base octale ou base 8
La base 16 ou base hexadécimale est utilisée pour réduire encore plus
l'écriture des nombres. Elle est aussi une puissance de 2 (16 = 24 ).
Dans ce qui suit, nous étudierons:
- les représentations sous base 2, base 8, base 10 et base 16.
- De plus, nous étudierons le passage d'une base à une autre.
- On note par (Nb ) la représentation du nombre N dans la base b

Codage de l'information 5
Les bases de numérotation

Plan

1 Introduction

2 Les bases de numérotation


Les diérentes bases de numérotation
Conversion entre les bases

3 Codage de l'information

4 Opérations sur les bases

Codage de l'information 6
Les bases de numérotation Les diérentes bases de numérotation

Plan

1 Introduction

2 Les bases de numérotation


Les diérentes bases de numérotation
Conversion entre les bases

3 Codage de l'information

4 Opérations sur les bases

Codage de l'information 7
Les bases de numérotation Les diérentes bases de numérotation

Base décimale-Dénition

La base décimale est très ancienne: c'est un choix naturel, dicté par le
nombre des doigts des deux mains
Caractéristiques de la base décimale:
- base: 10

- Symboles: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

- Poids: puissance de 10

N'importe quelle combinaison des symboles nous donne un nombre

Codage de l'information 8
Les bases de numérotation Les diérentes bases de numérotation

Base décimale-Forme polynomiale

Prenons par exemple le nombre 23148:


Sa forme polynomiale:
(23148)10 = 20000 + 3000 + 100 + 40 + 8

S'écrit aussi, en utilisant le poids=10:


(23148)10 = 2 ∗ 104 + 3 ∗ 103 + 1 ∗ 102 + 4 ∗ 101 + 8 ∗ 100

2 est le chire de poids le plus fort (le plus à gauche)


8 est le chire de poids le plus faible (le plus à droite)
Poids du chire dans le nombre
Chire 2 3 1 4 8
Poids 10 4 10 3 10 2 10 1 100
Valeur du poids 10000 1000 100 10 1
9
Les bases de numérotation Les diérentes bases de numérotation

Base décimale-Forme polynomiale-Exercice

Donner le forme polynomiale des nombres suivants en décimal:


(4596)10 = 4 ∗ 103 + 5 ∗ 102 + 9 ∗ 101 + 6 ∗ 100

(546, 07)10 = 5 ∗ 102 + 4 ∗ 101 + 6 ∗ 100 + 0 ∗ 10−1 + 7 ∗ 10−2

Codage de l'information 10
Les bases de numérotation Les diérentes bases de numérotation

Base binaire-Dénition

C'est la base utilisée par les ordinateurs pour faire des calculs et
communiquer
Caractéristiques de la base binaire:
- base : 2

- symboles (bit) : 0, 1

- poids : puissance de 2

Pour exprimer n'importe quelle valeur, on utilise uniquement deux


symboles: 0, 1
Exercice: Donner la forme polynomiale des nombres suivants:
- (1001)2 = 1 ∗ 23 + 0 ∗ 22 + 0 ∗ 21 + 1 ∗ 20

- (100, 100)2 = 1 ∗ 22 + 0 ∗ 21 + 0 ∗ 20 + 1 ∗ 2−1 + 0 ∗ 2−2 + 0 ∗ 2−3

Codage de l'information 11
Les bases de numérotation Les diérentes bases de numérotation

Base octale

base utilisée pour simplier le codage binaire


Caractéristiques de la base octale:
- base : 8

- symboles : 0, 1, 2, 3, 4, 5, 6, 7

- poids : puissance de 8

Exercice: Donner la forme polynomiale des nombres suivants:


- (254)8 = 2 ∗ 82 + 5 ∗ 81 + 4 ∗ 80

- (254, 75)8 = 2 ∗ 82 + 5 ∗ 81 + 4 ∗ 80 + 7 ∗ 8−1 + 5 ∗ 8−2

Codage de l'information 12
Les bases de numérotation Les diérentes bases de numérotation

Base hexadécimale

base utilisée pour simplier encore plus le codage binaire


Caractéristiques de la base hexadécimale:
- base : 16

- symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

- poids : puissance de 16

Exercice: Donner la forme polynomiale des nombres suivants:


- (1AE)16 = 1 ∗ 162 + A ∗ 161 + E ∗ 160 = 1 ∗ 162 + 10 ∗ 161 + 14 ∗ 160

- (E, C)16 = E ∗ 160 + C ∗ 16−1 = 14 ∗ 160 + 12 ∗ 16−1

Chap 2: Codage de l'information 13


Les bases de numérotation Les diérentes bases de numérotation

Base de numérotation-Généralisation
En base b, le nombre représenté par une suite de chires
an an−1 . . . a1 a0 est donné par :
n
X
an an−1 . . . a1 a0 = ai bi
i=0
a0 =chire de poids faible et an =chire de poids fort
Représentation des nombres réels:
n
X −p
X
an an−1 . . . a1 a0 , a−1 a−2 . . . a−p = ai bi + aj bj
i=0 j=−1

Dans une base b, on utilise b symboles distincts pour représenter les


nombres
La valeur de chaque symbole doit être strictement inférieure à la base b
Chaque nombre dans une base b peut être écrit sous sa forme
polynomiale Chap 2: Codage de l'information 14
Les bases de numérotation Les diérentes bases de numérotation

Base de numérotation-Généralisation
En base b, le nombre représenté par une suite de chires
an an−1 . . . a1 a0 est donné par :
n
X
an an−1 . . . a1 a0 = ai bi
i=0
a0 =chire de poids faible et an =chire de poids fort
Représentation des nombres réels:
n
X −p
X
an an−1 . . . a1 a0 , a−1 a−2 . . . a−p = ai bi + aj bj
i=0 j=−1
Dans une base b, on utilise b symboles distincts pour représenter les
nombres
La valeur de chaque symbole doit être strictement inférieure à la base b
Chaque nombre dans une base b peut être écrit sous sa forme
polynomiale
Chap 2: Codage de l'information 14
Les bases de numérotation Conversion entre les bases

Plan

1 Introduction

2 Les bases de numérotation


Les diérentes bases de numérotation
Conversion entre les bases

3 Codage de l'information

4 Opérations sur les bases

Chap 2: Codage de l'information 15


Les bases de numérotation Conversion entre les bases

Conversion d'une base b à la base 10

Conversion la plus simple


Règle:
1 Eectuer l'écriture polynomiale de ce nombre dans la base b
2 Calculer la somme du polynôme

Exercice: Convertir ces nombres en base 10


- (10111)2 = 1 ∗ 24 + 0 ∗ 23 + 1 ∗ 22 + 1 ∗ 21 + 1 ∗ 20 = (23)10

- (13B)16
= 1 ∗ 162 + 3 ∗ 161 + B ∗ 160 = 1 ∗ 162 + 3 ∗ 161 + 11 ∗ 160 = (315)10

- (123)5 = 1 ∗ 52 + 2 ∗ 51 + 3 ∗ 50 = (38)10

- (11, 11)8 = 1 ∗ 81 + 1 ∗ 80 + 1 ∗ 8−1 + 1 ∗ 8−2 = (9, 140)10

Chap 2: Codage de l'information 16


Les bases de numérotation Conversion entre les bases

Conversion de la base 10 à la base 2

Règle:
faire des divisions successives du nombre par 2

et prendre le reste des divisions dans l'ordre inverse

Chap 2: Codage de l'information 17


Les bases de numérotation Conversion entre les bases

Conversion de la base 10 à la base 2 - Cas d'un nombre réel


Un nombre réel est constitué de deux parties : la partie entière (PE) et
la partie fractionnaire (PF)
La PE est transformée en exécutant des divisions successives
La PF est transformée en exécutant des multiplications successives par
2. Le résultat est la PE de la multiplication et le sens de la lecture est
du haut vers le bas.
Exemple
(37, 625)10 = (?)2 Partie fractionnaire
P.E. (37)10 = 100101 0,625*2=1,25
P.F. (0, 625)10 = (?)2 0,25*2=0,5
P.F. (0, 625)10 = (0, 101)2 0,5*2=1,0
(37, 625)10 = (100101, 101)2
Chap 2: Codage de l'information 18
Les bases de numérotation Conversion entre les bases

Conversion de la base 10 à la base 2

Cas d'un nombre réel - Un autre exemple


(0, 6)10 = (?)2
- 0,6*2=1,2
- 0,2*2=0,4
- 0,4*2=0,8
- 0,8*2=1,6

Or 1 ∗ 2−1 + 0 ∗ 2−2 + 0 ∗ 2−3 + 1 ∗ 2−4 = 0, 5625


On dit que (0, 6)10 est arrondi à (0, 1001)2 avec une précision de 2−4
On peut continuer jusqu'à la précision souhaitée (exemple 2−8 ): On
obtient
1 ∗ 2−1 + 0 ∗ 2−2 + 0 ∗ 2−3 + 1 ∗ 2−4 + 1 ∗ 2−5 + 0 ∗ 2−6 + 0 ∗ 2−7 + 1 ∗ 2−8 =
0, 59765625 = (0, 10011001)2

Chap 2: Codage de l'information 19


Les bases de numérotation Conversion entre les bases

Conversion de la base 10 à la base 2

Exercices Convertir en base 2


(52)10

(52, 13)10 avec précision à 2−3

Chap 2: Codage de l'information 20


Les bases de numérotation Conversion entre les bases

Conversion de la base 10 à la base 2

Exercices Convertir en base 2


(52)10 =(110100)2

(52, 13)10 avec précision à 2−3


PE:= (110100)2 , PF:= (001)2

Chap 2: Codage de l'information 20


Les bases de numérotation Conversion entre les bases

Conversion d'une base b1 à une base b2

Pour passer d'une base b1 à une base b2, il sut de repasser par la base
10 au milieu
Exemple:
(34)5 = (?)7

(34)5 = 3 ∗ 51 + 4 ∗ 50 = (19)10

(34)5 = (19)10 = (25)7

Chap 2: Codage de l'information 22


Les bases de numérotation Conversion entre les bases

Conversion d'une base b1 = 2 à une base b2 = 8 ou 16

Puisque 8 = 23 et 16 = 24 , on peut convertir un nombre binaire


(b1 = 2) vers une base b2 = 8 ou 16 sans passer par la base 10.
Règle:
- Faire des regroupements de 3 bits (pour b2 = 8) ou de 4 bits (pour
b2 = 16) à partir du poids faible.

- Remplacer chaque regroupement par la valeur en base b2 qui lui correspond

- Le remplacement se fait de droit à gauche pour la PE et de gauche à


droite pour la PF.

- Si besoin, ajouter des bits 0 à la gauche du paquet pour le compléter.

Chap 2: Codage de l'information 23


Les bases de numérotation Conversion entre les bases

Conversion d'une base b1 = 2 à une base b2 = 8 ou 16

Exemple: conversion de la base 2 à la base 8:


- (11001010010110)2 =(011 001 010 010 110)2 =(31226)8

- (110010100, 10101)2 =(110 010 100 , 101 010)2 = (624,52)8

Exemple: conversion de la base 2 à la base 16:


- (11001010010110)2 =(0011 0010 1001 0110)2 =(3296)16

- (110010100, 10101)2 = (0001 1001 0100 , 1010 1000)2

Chap 2: Codage de l'information 24


Les bases de numérotation Conversion entre les bases

Conversion d'une base b1 = 2 à une base b2 = 8 ou 16

Exemple: conversion de la base 2 à la base 8:


- (11001010010110)2 =(011 001 010 010 110)2 =(31226)8

- (110010100, 10101)2 =(110 010 100 , 101 010)2 = (624,52)8

Exemple: conversion de la base 2 à la base 16:


- (11001010010110)2 =(0011 0010 1001 0110)2 =(3296)16

- (110010100, 10101)2 = (0001 1001 0100 , 1010 1000)2 = (194,A8)16

Chap 2: Codage de l'information 24


Les bases de numérotation Conversion entre les bases

Conversion d'une base b1 = 8 ou 16 à une base b2 = 2

En base 8 (resp. 16), chaque symbole de la base s'écrit sur 3 bits (resp.
4 bits) en base 2
Principe: remplacer chaque symbole dans la base 8 (resp. base 16)
par sa valeur en base 2 sur 3 bits (resp. 4 bits)
Exemple: conversion de la base 8 vers la base 2:
(345)8 =(011 100 101)2

(65, 76)8 = (110 101 , 111 110)2

Exemple: conversion de la base 16 vers la base 2:


(345B)16

(AB3, 4F 6)16

Chap 2: Codage de l'information 25


Les bases de numérotation Conversion entre les bases

Conversion d'une base b1 = 8 ou 16 à une base b2 = 2

En base 8 (resp. 16), chaque symbole de la base s'écrit sur 3 bits (resp.
4 bits) en base 2
Principe: remplacer chaque symbole dans la base 8 (resp. base 16)
par sa valeur en base 2 sur 3 bits (resp. 4 bits)
Exemple: conversion de la base 8 vers la base 2:
(345)8 =(011 100 101)2

(65, 76)8 = (110 101 , 111 110)2

Exemple: conversion de la base 16 vers la base 2:


(345B)16 =(0011 0100 0101 1011)2

(AB3, 4F 6)16

Chap 2: Codage de l'information 25


Les bases de numérotation Conversion entre les bases

Conversion d'une base b1 = 8 ou 16 à une base b2 = 2

En base 8 (resp. 16), chaque symbole de la base s'écrit sur 3 bits (resp.
4 bits) en base 2
Principe: remplacer chaque symbole dans la base 8 (resp. base 16)
par sa valeur en base 2 sur 3 bits (resp. 4 bits)
Exemple: conversion de la base 8 vers la base 2:
(345)8 =(011 100 101)2

(65, 76)8 = (110 101 , 111 110)2

Exemple: conversion de la base 16 vers la base 2:


(345B)16 =(0011 0100 0101 1011)2

(AB3, 4F 6)16 = (1010 1011 0011 , 0100 1111 0110)2

Chap 2: Codage de l'information 25


Codage de l'information Codage des entiers naturels

Plan

1 Introduction

2 Les bases de numérotation

3 Codage de l'information
Codage des entiers naturels
Codage des entiers signés
Codage des nombres réels
Codage des caractères

4 Opérations sur les bases

Chap 2: Codage de l'information 27


Codage de l'information Codage des entiers naturels

Codage des entiers naturels

Principe:
- Utilisation du code binaire pur

- L'entier naturel est représenté en base 2

- Les bits sont rangés selon leur poids (plus fort à gauche). On peut
compléter à gauche par des 0 autant que souhaité.

Exemple: sur un octet (8 bits), (10)10 se code (00001010)2


Étendu du codage binaire pur:
- sur 1 octet (8 bits): codage des nombres de 0 à 28 − 1 = 255

- sur 2 octets (16 bits): codage des nombres de 0 à 216 − 1 = 65535

- sur 4 octets (32 bits) : codage des nombres de 0 à 232 − 1 = 4294967295

- sur n bits: représentation des nombres de 0 à 2n − 1


Chap 2: Codage de l'information 28
Codage de l'information Codage des entiers naturels

Les unités utilisées

kilooctet (Ko ou KB) = 1024 octets


Mégaoctet (Mo ou MB) = 1024 Ko = 1 048 576 octets
Gigaoctet (Go ou GB) = 1024 Mo = 1 073 741 824 octets
Téraoctet (To) = 1024 Go
Pétaoctet (Po) = 1024 To
Attention : KB signie kiloByte, 1 Byte = 1 octet

Chap 2: Codage de l'information 29


Codage de l'information Codage des entiers signés

Plan

1 Introduction

2 Les bases de numérotation

3 Codage de l'information
Codage des entiers naturels
Codage des entiers signés
Codage des nombres réels
Codage des caractères

4 Opérations sur les bases

Chap 2: Codage de l'information 30


Codage de l'information Codage des entiers signés

Codage des entiers signés

Problème: Comment indiquer à l'ordinateur qu'un nombre est négatif


ou positif?
Trois méthodes possibles:
- Méthode du binaire signé (bs)

- Méthode du complément à 1 (Cà1)

- Méthode du complément à 2 (Cà2)

Pour toutes ces méthodes, un bit est toujours utilisé pour le signe
du nombre

Chap 2: Codage de l'information 31


Codage de l'information Codage des entiers signés

Méthode du binaire signé (bs)


Principe:
- Le bit de poids fort code le signe: 0=entier positif, 1=entier négatif

- Les autres bits codent le nombre en valeur absolue

- Avec n bits, on code tous les nombres entre −(2n−1 − 1) et 2n−1 − 1

Limitation: Deux représentations du zéro : +0 et -0.


Sur 4 bits: +0 = (0000)bs et -0 = (1000)bs
Exemple: Coder en binaire signé sur 8 bits
- (-3)10 = (10000011)bs

- (+3)10 = (00000011)bs

Exemple: Décoder en décimal


(10000100)bs

(00000100)bs
Chap 2: Codage de l'information 32
Codage de l'information Codage des entiers signés

Méthode du binaire signé (bs)


Principe:
- Le bit de poids fort code le signe: 0=entier positif, 1=entier négatif

- Les autres bits codent le nombre en valeur absolue

- Avec n bits, on code tous les nombres entre −(2n−1 − 1) et 2n−1 − 1

Limitation: Deux représentations du zéro : +0 et -0.


Sur 4 bits: +0 = (0000)bs et -0 = (1000)bs
Exemple: Coder en binaire signé sur 8 bits
- (-3)10 = (10000011)bs

- (+3)10 = (00000011)bs

Exemple: Décoder en décimal


(10000100)bs = (-4)10

(00000100)bs
Chap 2: Codage de l'information 32
Codage de l'information Codage des entiers signés

Méthode du binaire signé (bs)


Principe:
- Le bit de poids fort code le signe: 0=entier positif, 1=entier négatif

- Les autres bits codent le nombre en valeur absolue

- Avec n bits, on code tous les nombres entre −(2n−1 − 1) et 2n−1 − 1

Limitation: Deux représentations du zéro : +0 et -0.


Sur 4 bits: +0 = (0000)bs et -0 = (1000)bs
Exemple: Coder en binaire signé sur 8 bits
- (-3)10 = (10000011)bs

- (+3)10 = (00000011)bs

Exemple: Décoder en décimal


(10000100)bs = (-4)10

(00000100)bs = (+4)10
Chap 2: Codage de l'information 32
Codage de l'information Codage des entiers signés

Méthode du complément à 1
Principe:
- Aussi appelé Complément Logique (CL) ou Complément Restreint (CR)

- Les nombres positifs sont codés de la même façon qu'en binaire pure.

- Un nombre négatif est codé en inversant chaque bit de la représentation de


sa valeur absolue. Ainsi chaque bit 1 devient 0 et chaque bit 0 devient 1.

- Comme pour la méthode précédente, le bit de poids fort code le signe:


0=entier positif, 1=entier négatif

- Avec n bits, on code tous les nombres entre −(2n−1 − 1) et 2n−1 − 1

Limitations : toujours deux façons de représenter 0


Exemple: coder (-7)10 en Cà1 sur un octet
- |-7| en binaire pur ⇒ (00000111)2

- Puis on inverse les bits ⇒ (-7)10 =(11111000)ca1


Chap 2: Codage de l'information 33
Codage de l'information Codage des entiers signés

Méthode du complément à 1

Exemple: Coder en Cà1 sur 8 bits


- (+3)10 = (00000011)ca1

- (-3)10 = (11111100)ca1

Exemple: Décoder en décimal


(00000100)ca1

(11111011)ca1

Chap 2: Codage de l'information 34


Codage de l'information Codage des entiers signés

Méthode du complément à 1

Exemple: Coder en Cà1 sur 8 bits


- (+3)10 = (00000011)ca1

- (-3)10 = (11111100)ca1

Exemple: Décoder en décimal


(00000100)ca1 = (+4)10

(11111011)ca1

Chap 2: Codage de l'information 34


Codage de l'information Codage des entiers signés

Méthode du complément à 1

Exemple: Coder en Cà1 sur 8 bits


- (+3)10 = (00000011)ca1

- (-3)10 = (11111100)ca1

Exemple: Décoder en décimal


(00000100)ca1 = (+4)10

(11111011)ca1 = (-4)10

Chap 2: Codage de l'information 34


Codage de l'information Codage des entiers signés

Méthode du complément à 2

Principe:
- Aussi appelé 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 la valeur 1 à son Cà1

- Comme pour les méthodes précédentes, le bit de poids fort code le signe:
0=entier positif, 1=entier négatif

- Avec n bits, on code tous les nombres entre −(2n−1 ) et 2n−1 − 1

Avantage: Un seul codage pour 0. Par exemple sur 8 bits :


- (+0)10 =(00000000)ca2

- (-0)10 =(11111111)ca1 +(00000001)=(00000000)ca2

Chap 2: Codage de l'information 35


Codage de l'information Codage des entiers signés

Méthode du complément à 2

Astuce: Pour transformer un nombre binaire négatif en son ca2


rapidement, on parcourt sa valeur absolue codée en binaire pur de droite
à gauche (←), en laissant inchangés les bits jusqu'au premier 1
(compris), puis on inverse tous les bits suivants.
Exemple: |-20|10 = 000101002 :
1 On garde la partie à droite telle quelle : 00010100

2 On inverse la partie de gauche après le premier un : 11101100

3 On obtient (-20)10 = (11101100)ca2

Chap 2: Codage de l'information 36


Codage de l'information Codage des entiers signés

Méthode du complément à 2

Exemple: Coder en Cà2 sur 8 bits


- (+3)10 = (00000011)ca2

- (-3)10 = (11111101)ca2

Exemple: Décoder en décimal


(00000100)ca2

(11111100)ca2

Chap 2: Codage de l'information 37


Codage de l'information Codage des entiers signés

Méthode du complément à 2

Exemple: Coder en Cà2 sur 8 bits


- (+3)10 = (00000011)ca2

- (-3)10 = (11111101)ca2

Exemple: Décoder en décimal


(00000100)ca2 = (+4)10

(11111100)ca2

Chap 2: Codage de l'information 37


Codage de l'information Codage des entiers signés

Méthode du complément à 2

Exemple: Coder en Cà2 sur 8 bits


- (+3)10 = (00000011)ca2

- (-3)10 = (11111101)ca2

Exemple: Décoder en décimal


(00000100)ca2 = (+4)10

(11111100)ca2 = (-4)10

Chap 2: Codage de l'information 37


Codage de l'information Codage des entiers signés

Résumé du codage des entiers signés

Résumé
Codage de (-57)10 pour les 3 méthodes, sur 8 bits
57 = (00111001)2
bs : (10111001)bs
ca1 : (11000110)ca1
ca2 : (11000111)ca2
Dans tous les cas:
- Si le bit de poids fort = 0 : entier positif

- Si le bit de poids fort = 1 : entier négatif

Chap 2: Codage de l'information 38

Vous aimerez peut-être aussi