Vous êtes sur la page 1sur 21

CHAPITRE 1

CODIFICATION ET REPRESENTATION DES NOMBRES

INTRODUCTION :

Le langage est la faculté d'exprimer et de communiquer sa pensée au moyen de signes.


Notre langage écrit utilise un code basé sur 26 lettres (majuscules et minuscules), 10
chiffres, des symboles de ponctuation et des signes mathématiques.
Grâce à ce code nous pouvons transmettre des informations, donner des instructions,
dénombrer...

Bien que les ordinateurs soient qualifiés "d'intelligence artificielle", ils n'ont aucune faculté
d'appréhender le monde extérieur. Leur seule intelligence réside dans leur rapidité
d'exécution de combinaisons d'ordre à deux états (0 , 1) équivalent à (éteint , allumé).
Le terme bit signifie « binary digit », c'est-à-dire 0 ou 1 en numérotation binaire. Il s'agit de
la plus petite unité d'information manipulable par une machine numérique.

La codification consiste à établir une correspondance entre la représentation externe de


l'information dont nous sommes utilisateurs et sa représentation interne dans la machine,
qui est une suite de bits (suite de 0 et 1).

Le système de numération décimale (ou système décimal) est familier à chacun de nous, il
revêt de l’importance en raison de son utilisation universelle pour représenter les grandeurs
du monde courant. De ce fait, il faudra parfois convertir des valeurs décimales en valeurs
binaires avant de pouvoir les traiter dans un circuit numérique. Une même information peut
se coder de plusieurs façons en fonction de son utilisation, par exemple la forme d’un
nombre change selon qu’il entre dans un bloc de calcul, qu’il apparaît sur un circuit
d’affichage lumineux, sur un écran de visualisation, sur une imprimante etc…

Les nombres binaires (de base 2) sont utilisés de manière extensive dans les circuits
numériques, de même que les nombres des systèmes octal (base 8) et hexadécimal (base
16).

I. Définition

Un Système de numération : C’est un ensemble de symboles assemblés selon des règles


précises, permettent d’écrire de lire et de nommer des nombres, exemple : dans le
système décimal existent 10 symboles qui sont : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Une base : elle correspond au nombre de symboles utilisés dans un système de


numération, où chaque chiffre a une valeur de position.

II. Représentation des nombres entiers

Soit NB un entier naturel non nul quelconque et B un entier naturel strictement


supérieur à 1, on admet que l’on peut décomposer le nombre NB de façon unique :

Mme F.DJIDEL
Page 1
𝑁 = 𝑎 𝐵 = 𝑎 .𝐵 + 𝑎 .𝐵 + 𝑎 .𝐵 + ⋯………𝑎 .𝐵

Où les a0, a1,………………. an-1 sont strictement inférieurs à B et an-1 est non nul.

Cette décomposition est appelée décomposition du nombre NB dans la base B (forme


polynomiale).

Dans le système décimal B=10 les symboles sont : 0, 1, 2, 3 ,4, 5, 6, 7, 8, 9.

𝑁 = 𝑎 10

Exemple : (745)10 = 5+40+700 = 5.100+ 4.101+7.102

L’écriture (745) est appelée forme implicite alors que l’écriture 5.100+ 4.101+7.102 s’appelle
forme explicite ou forme polynomiale.

 Chaque chiffre du nombre est à multiplier par une puissance de 10 c’est ce que l’on
nomme le poids du chiffre.
 Cette manière d’écrire les nombres est appelée système de numération de position :
(12435)10 =1.104 +2. 103+4. 102 +3. 101 +5. 100
Le chiffre 1 est appelé le poids fort, le chiffre 5 est appelé le poids faible.

 Dans le système octal B=8, les symboles sont : 0, 1, 2, 3, 4, 5, 6, 7.


Exemple : (745)8 = 7.82 + 4.81 +5.80= 7.64+4.8+5=(485)10
 Dans le système hexadécimal B=16 , les symboles sont : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,
B, C, D, E, F.
Exemple : (5AF)16= 5.162 + A.161 +F.160= 5.256+10.16+15=(1455)10
 Dans le système binaire B=2 , les symboles sont : 0, 1.
Exemple : (10110)2 = 1.24 + 0.23 +1.22+1.21+0.20 = 16+4+2=(22)10

III. CONVERSIONS
Il existe trois types de conversion :
 Conversion du système décimal à un autre système, cette opération s’appelle
le codage.
 Conversion d’un système autre que le décimal à un autre système décimal,
cette opération s’appelle le décodage.
 Conversion entre deux systèmes non décimaux, cette opération s’appelle le
transcodage.

III.1 Codage d’un nombre


Mme F.DJIDEL
Page 2
Le codage d’un nombre décimal est sa conversion du système décimal vers un système de
base B, tel que B≠10.

a. Cas de la partie entière (nombre entier) :


Soit N un nombre représenté en base 10 tel que N = (58)10

(58)10 =(111010)2

Représentation octale : (58)10 =(72)8

Représentation hexadécimale : (58)10 = (3A)16

L’opération de codage est obtenue par des divisions successives d’un nombre décimal
par la base B du système jusqu’au moment où le quotient devient nul, le premier reste
est le poids faible.

b. Cas de la partie fractionnaire:

Le processus du codage de la partie fractionnaire d’un nombre est de faire des


multiplications successives de la partie fractionnaire par la base et ne garder que la
partie entière, jusqu’à l’obtention d’une partie entière seulement.

Exemple :

 Convertir (58.375)10 en base 2

Mme F.DJIDEL
Page 3
0.375x2=0.75 0.75x2=1.5 0.5x2=1.0

(58.375)10 = (111010.011)2

 Convertir (0.47)10 =( ?)2

0.47x2=0.94 0.94x2= 1.88 0.88x2= 1.76 0.76x2= 1.52 0.52x2=1.04


0.04x2=0.08…………..

D’où (0.47)10 =( 0.011110……)2

Remarque : On peut remarquer qu’un nombre fini dans une base peut conduire à une
suite infinie dans une autre base.

c. Cas d’un nombre réel

Un nombre réel est constitué de deux parties, la partie entière et la partie fractionnaire.
La partie entière est codée en effectuant des divisions successives par la base B et la
partie fractionnaire est codée en effectuant des multiplications successives par la base B.

Exemple :

(25.75)10 =( 11001.11)2

(250.8125)10 =( 372.64)8

Le nombre de bits après la virgule détermine la précision.

III.2 Décodage d’un nombre

Le décodage est l’opération inverse du codage, cette opération est assez simple puisqu’il
suffit de faire le développement en polynôme (forme explicite) de ce nombre dans la base B
et de faire la somme par la suite.

Exemple :

(11011)2 = 1x24 +1x23 + 0x22 +1x21 +1x20=16 +8 + 0+ 2 + 1 = (27)10

(372)8= 3x82 +7x81 + 2x80= 3x64 + 56 + 2 = (250)10

(2AF)16= 2x162 +Ax161 + Fx160= 2x256 + 10x16 + 15=(687)10

(43.2)5= 4x51 +3x50+ 2x5-1 = (23.4)10

III.3 Transcodage d’un nombre

Le transcodage d’un nombre est le passage entre deux systèmes non décimaux.

B1 ≠ 10 B2 ≠10, il n’existe pas de méthode pour passer directement de B1 à B2 s’il


n’existe pas de relation entre ces deux bases. L’idée est de passer par le système décimal.

Transcodage
Mme F.DJIDEL B1 B2
Page 4
Décodage Codage

B =10

Exemple :

(1110)2 =1x23 + 1x22 +1x21 +0x20=8 + 4+ 2 = (14)10

(14)10 = (16)8

Pour certaines bases (2 vers 8, 2 vers 16) le transcodage peut se faire sans passer par le
décimal.

-Conversion binaire octale (8=23):

Exprimons le nombre (47)10 dans le système octal et dans le système binaire.

47 8 47 2

7 5 8 1 23 2

5 0 1 11 2

1 5 2

1 2 2

0 1 2

1 0

(47)10 =(57)8 =(101 111)2

Règle de conversion : Pour convertir un nombre de la base 2 vers la base 8, il faut découper
ce nombre en bloc de 3 bits en partant de la droite vers la gauche pour la partie entière et de
la gauche en allant vers la droite pour la partie fractionnaire ensuite remplacer chaque bloc
par sa valeur octale correspondante.
Pour convertir un nombre de la base 8 vers la base 2, il suffit de transcrire chaque chiffre de
ce nombre en binaire sur 3 bits (en partant du poids faible).

Exemple :

( 101 111 100 001 )2 =(5 7 4 1 )8

( 67315)8 = (110 111 011 001 101 )2

-Conversion binaire hexadécimal (16=24) :

La propriété d’équivalence entre le binaire et l’octale existe aussi entre le binaire et


l’hexadécimal, la seule différence est qu’il faut prendre des blocs de 4 bits.

Mme F.DJIDEL
Page 5
Exemple :

(1 101 0000 1100)2 =(D 0 C )16

Pour convertir un nombre de la base 8 vers la base 16 ou inversement, on peut transiter par la
base 10 mais on peut également passer par la base 2.
Base 8 base 2 base 16
Base 16 base 2 base 8

Exemple : Convertir (232)8 vers la base 16

(2 3 2)8 = (010 011 010)2 = (0 1001 1010)2 = (9 A)16

(11101,01011)2 = (011 101 , 010 110)2 = ( 35,26)8

(11101,01011)2 = (0001 1101 , 0101 1000)2 = (1D,58)16

Tableau de conversion décimal-Binaire

Décimal Binaire Hexadécimal


0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

IV. Les opérations arithmétiques en binaire


Les opérations appliquées en décimal sont les mêmes dans n’importe quelle base, il
n’ya que la base qui change.
1. L’addition binaire :
0 + 0= 0
0+1=1
1+0=1
1 + 1 =0 report 1

Mme F.DJIDEL
Page 6
Remarque : Le report apparait dés que la somme atteint la base.

Exemple :

2. La soustraction binaire :
0–0=0
0 – 1 = 1 emprunt 1
1–0=1
1–1= 0

Exemple : réaliser (11101) - (0111)

3. La multiplication :
0 x 0 =0
0x1=0
1x0=0
1x1=1
Exemple :
1101 13 multiplicande
X 1011 x 11 multiplicateur
1101 = 143
1101.

101. . .

10001111

La multiplication consiste à faire une suite d’addition avec le multiplicande décalé vers la
gauche. Cette opération est répétée autant de fois qu’il y’a d’éléments binaires dans le
multiplicateur. Il faut donc pour réaliser une multiplication disposer de la fonction d’addition
et de décalage.

4. La division binaire :
Mme F.DJIDEL
Page 7
V. Représentation des nombres entiers signés
Il existe deux types d’entiers :
- Les entiers non signés (positifs par exp : une longueur).
- Les entiers signés (positifs ou négatifs par exp : une température)

Nous posons le problème : Comment indiquer à la machine qu’un nombre est négatif ou
positif ?

Il existe trois méthodes pour représenter les nombres signés :

- Représentation signe/valeur absolue (SVA)


- Représentation en complément à un CA1 (complément restreint).
- Représentation en complément à deux CA2 (complément à vrai).

Pour traiter les nombres signés, on ajoute un bit de signe au nombre, « 0 » pour les nombres
positifs et « un » pour les nombres négatifs.

1. Représentation signe/valeur absolue (SVA)

Dans cette représentation, un nombre est représenté par son signe et sa valeur absolue en
binaire.

Exemple : (+52)=0 1 1 0 1 0 0 (-52)= 1 1 1 0 1 0 0

Dans cette représentation, si nous utilisons n bits, l’intervalle des valeurs qu’on peut
n- 1
représenter est : -(2 – 1) ≤ N ≤ +(2n- 1 – 1)
Exemple : Nous utilisons n=3 bits pour représenter des nombres en SVA

Signe VA N
0 00 +0
0 01 +1

Mme F.DJIDEL
Page 8
0 10 +2
0 11 +3
1 00 -0
1 01 -1
1 10 -2
1 11 -3

Cette représentation est assez simple, le « 0 » possède deux représentations +0 et -0, ce qui
conduit à des difficultés au niveau des opérations arithmétiques.

2. Représentation en complément à un (CA1):

On appelle complément à un d’un nombre N un autre nombre N’ tel que : N + N’ = 2n – 1

Avec n le nombre de bits de N

Exemple : N= 1010 (4 bits), N’ = (24 – 1) – N =15-N=(1111)2 – (1010)2 =(0101)2

Pour trouver le complément à un d’un nombre, il suffit d’inverser tous ses bits.

Exemple : CA1(11010) = (00101)

CA1(0101101) = (1010010)

Remarque :

- Pour les nombres signés, le bit de poids fort indique le signe du nombre.
- CA1(CA1(N))=N

Exemple :- Quelle est la valeur décimale représentée par la valeur 101010 en CA sur 6 bits.

Le bit de poids fort = 1, donc le nombre est négatif

Valeur = -CA1(101010)=-( 010101)2 = -(21)10

-Nous utilisons 3 bits pour représenter des nombres en CA1

Décimal CA1
+0 000
+1 001
+2 010
+3 011
-0 111
-1 110
-2 101
-3 100

 Dans cette représentation, si nous utilisons n bits, l’intervalle des valeurs qu’on peut
n- 1 n- 1
représenter est : -(2 – 1) ≤ N ≤ +(2 – 1).
Mme F.DJIDEL
Page 9
 Dans cette représentation le « 0 » possède deux représentations.
3. Représentation en complément à deux (CA2):

Le complément à deux d’un nombre binaire s’obtient simplement en prenant le


complément à un de ce nombre et en ajoutant 1 au bit de poids le plus faible.

CA2(N)=CA1(N) + 1

Exemple :

CA2(101101)=010010+1=010011

CA2(0101.011)=1010.100+0.001=1010.101

Nous utilisons 4 bits pour représenter des nombres en CA2

Décimal SVA CA2


+0 0000 0000
+1 0001 0001
+2 0010 0010
+3 0011 0011
+4 0100 0100
+5 0101 0101
+6 0110 0110
+7 0111 0111
-0 1000 0000
-1 1001 1111
-2 1010 1110
-3 1011 1101
-4 1100 1100
-5 1101 1011
-6 1110 1010
-7 1111 1001
-8 XXXXXX 1000

Si nous utilisons 4 bits on peut représenter les valeurs : -8 ≤ N ≤ +7

Le CA2 d’un nombre positif est le nombre lui-même en binaire.

Le CA2 d’un nombre négatif est obtenu en calculant le CA2 de son équivalent positif.

Exemple : (-7)10 = CA2(0111)=(1001)

(+7)= (0111)2

Dans cette représentation le « 0 » ne possède pas une double représentation.

L’intervalle des valeurs qu’on peut représenter si nous utilisons n bits est :

-(2n- 1 ) ≤ N ≤ +(2n- 1 – 1)

Mme F.DJIDEL
Page 10
Grâce au complément à deux toute soustraction se transforme à une addition

Démonstration : A – B = A + CA2(B)

A s’écrit sur n bits, on a A+ 2n = A

A-B= A + 2n – B= A + 2n – 1 + 1 - B

2n – 1= B + CA1(B) d’où A-B= = A + ( 2n – 1)+ 1 - B = A + B + CA1(B) + 1 - B

A – B = A + CA2 (B)

Exemple :

Soit A et B 2 nombres représentés en C2 sur 8 bits, trouver leurs valeurs décimales.


A =( 00110101)CA2 B = (11101011)CA2

A =( 00110101)CA2 le bit de signe est 0 donc A est positif, donc

A =( 00110101)CA2 = (00110101)2 = 1x20+1x22+1x24+1x25= 1+4+16+32=(53)10

B = (11101011)CA2 le bit de signe est 1 donc B est négatif, pour trouver la valeur décimale on
doit calculer son CA2 pour revenir à sa vraie valeur binaire :

B=-(00010101)2 =-(1x20+1x22+1x24)=-(1+4+16)=-(21)10

3. Opérations en complément à deux


a. L’addition en CA2
Cas 1 : Deux nombres positifs
0
+9 0 1 0 0 1 cumulande
+4 + 0 0 1 0 0 cumulateur
+13 01101

La retenue sur le bit de signe RSS=0


La retenue après le bit de signe RAS=0 →Débordement =0

Remarque : Dans la notation en CA2, il faut s’assurer que le cumulande et le cumulateur


aient un nombre de bits identique.

Cas 2 : Un nombre positif et un nombre négatif plus petit


1
+9 0 1 0 0 1 RSS=1
-4 + 1 1 1 0 0 RAS=1 → Débordement =0
+5 1 00101

La retenue après le bit de signe n’est pas prise en compte dans le résultat.

Cas 3 : Un nombre positif et un nombre négatif plus grand

Mme F.DJIDEL
Page 11
-9 1 0 1 1 1 RSS=0
+4 + 0 0 1 0 0 RAS=0 → Débordement =0
-5 1 1011
Le résultat est négatif et est en CA2
Cas 4 : Deux nombres négatifs
1
-9 1 0 1 1 1 RSS=1
-4 + 1 1 1 0 0 RAS=1 → Débordement =0
-13 1 1 0 0 1 1

Cas 5 : Nombres égaux opposés


-9 10111
+9 01001
0 00000

b. Soustraction en complément à deux


Toute opération de soustraction se résuma à une addition lorsqu’on utilise le
complément à deux
Exemple :
(+9) – (+4) =(+9) + (-4) =(+9) +CA2(-4) = (01001)+ (11100) = 00101

4. La retenue et le débordement
 On dit qu’il y-a une retenue si une opération arithmétique génère un report.
 On dit qu’il y-a un débordement (overflow) ou dépassement de capacité si le
résultat de l’opération sur n bits est faux :
- Le nombre de bits utilisés est insuffisant pour contenir le résultat,
autrement dit, le résultat dépasse l’intervalle des valeurs sur les n bits
utilisés.
- En additionnant 2 nombres de signes différents, il ne peut pas y avoir de
dépassement, par contre lorsqu’on additionne deux nombres de même
signe, on a un dépassement si le signe du résultat est différent du signe des
deux nombres additionnés. Un débordement donne toujours un résultat
inexact.
VI. La représentation des nombres réels
Un nombre réel est constitué de 2 parties ; la partie entière et la partie fractionnaire,
séparés par une virgule.
PB : Comment indiquer à la machine la position de la virgule ?
Il existe deux méthodes pour représenter les nombres réels :
- Avec une virgule fixe
- Avec une virgule flottante

Mme F.DJIDEL
Page 12
VI.1 La virgule fixe :

Dans cette représentation, la partie entière est représentée sur n bits et la partie
fractionnaire sur p bits, en plus un bit pour le signe.

Exemple : n=3, p=2, nous obtenons les valeurs comme indiqués

Signe P.E P.F Valeur


0 000 00 +0.0
0 000 01 +0.25
0 000 10 +0.50
0 000 11 +0.75
0 001 00 +1.0
0 001 01 +1.25
0 001 10 +1.50
0 001 11 +1.75
0 010 00 +2.0
0 010 01 +2.25
0 010 10 +2.50
0 010 11 +2.75
0 011 00 +3.00
. . . .
. . . .
. . . .
. . . .
. . . .
. . .
0 111 11 +7.75
1 000 01 -7.75
. . . .
. . . .
. . . .
. . . .
1 110 01 -1.00
1 111 01 -0.75
1 111 10 -0.5
1 111 11 -0.25

-7.75 ≤ N ≤ +7.75

Dans cette représentation les valeurs sont limitées et nous n’avons pas une grande précision
(exposant fixe), d’où vient la virgule fixe.

VI.2 La virgule flottante :

Chaque nombre réel peut s’écrire de la façon suivante :

𝑁 = ±𝑀 ∗ 𝐵

Mme F.DJIDEL
Page 13
Avec M : Mantisse

B : Base

e : Exposant

exemple : (15.6)=0.1256*102

-(110.101)2 = - (0.110101)*23

(1001.11)2 = (0.100111)*24

Il faut donc représenter les nombres sous une forme normalisée afin que la représentation
ne varie pas d’un logiciel à un autre.

-La forme normalisée :

Un nombre normalisé en virgule flottante est un nombre dans lequel le chiffre qui précède
la virgule est un « 0 » et le chiffre qui suit la virgule est un « 1 ».

Exemple : 0.0100111*25 n’est pas normalisé

0.100111*24 est normalisé

L’écriture en virgule flottante est normalisée par la forme IEEE754 (Institute of Electrical
and Electronics Engineers).

Format IEEE754 : On distingue deux normes

- La simple précision (32 bits)


1 bit 8bits 23 bits
signe exposant mantisse

- La double précision (64 bits)


1 bit 11bits 52 bits
signe exposant mantisse

Tout nombre réel peut s’écrire de la façon suivante :


é
𝑁 = ±1, 𝑀𝑎𝑛𝑡𝑖𝑠𝑠𝑒 ∗ 2

Le 1 est un bit caché.

La mantisse est la partie après la virgule on l’appelle aussi pseudo-mantisse.

L’exposant biaisé= Exposant réel + Biais

Biais= 2p-1 -1 tel que p :nombre de bits réservés pour l’exposant, dans notre cas p=8
Bais=127

Mme F.DJIDEL
Page 14
Le format IEEE 754 est le suivant :

1 bit 8bits 23 bits


signe Exposant Biaisé Pseudo-mantisse

Exemple : (8.625)10= (1000.101)2 = (1.000101)*23

Bit de signe=0 car nbre ˃ 0

Exposant réel =3

Exposant Biaisé = 3 + 127 =130 = (10000010)2

Pseudo-Mantisse = 00010100000000000000000

D’où l’écriture de 8.625 dans la norme IEEE754 est :

0 10000010 00010100000000000000000
4 1 0 A 0 0 0 0

(8.625)10 = (410A0000)IEEE754

Le Code BCD

Définition :

Inventé entre 1950 et 1960, le code BCD, Binary Coded Decimal (Décimal Codé en Binaire)
est un code qui s’applique uniquement aux chiffres de la base 10. Chaque chiffre décimal est
représenté directement par sa valeur binaire sur un format de 4 bits.

Le BCD est trés utilisé en électronique pour le stockage ou l’affichage des valeurs
numériques. La conversion étant simple ne nécessitant pas de processeur et se rapprochant
des périphériques comme les afficheurs 7 segments. Un autre exemple est le stockage des
dates dans le BIOS d’une carte mère en BCD.

Décimale BCD

0 0000

1 0001

Mme F.DJIDEL
Page 15
2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

Exemple :

( 987 )10 = ( 1001 1000 0111 )BCD

Remarque 13 par exemple s’écrit 1101 en binaire, sa représentation BCD est 0001 0011

Le CODE GRAY

Définition

Inventé par Frank Gray en 1953, le code de Gray est un code binaire qui permet de passer
d’un nombre entier N au nombre suivant (N+1) en changeant un seul digit. (On l’appelle
également Code Réfléchi). Ce code sert également dans les Tableaux de Karnaugh utilisés
lors de la conception de circuits logiques.

Passage d’un nombre N au suivant N+1 :

 Si le nombre de 1 est pair, il faut inverser le dernier chiffre.


 Si le nombre de 1 est impair, il faut inverser le chiffre situé à gauche du 1 le plus à
droite.
Exemple :
le nombre de 1 est pair. le nombre de 1 est impair.
1101100 1101101 1101101 1101111
1111011 1111010 1011000 1001000
1101001 1101001 1100010 1100110

Mme F.DJIDEL
Page 16
Exercice : Quel est le nombre suivant en code gray

111101 1111100

1011110 1011010

1100100 1101100

Conversion du code binaire vers le code Gray

Soit X = Bn Bn-1..... B0 représenté en binaire

Pour convertir X en code de Gray il faut suivre les règles suivantes :

• Gn=Bn

• Gi = 0 si Bi = Bi+1

• Gi =1 si Bi ≠ Bi+1

Exemple : pour n = 4 X = (1 0 0 0 1 )2

• B4 = 1 => G4 = 1

• B3 = 0 => B3 ≠ B4 => G3 = 1

• B2 = 0 => B2 = B3 => G2 = 0

• B1 = 0 => B1 = B2 => G1 = 0

• B0 = 1 => B0 ≠ B1 => G3 = 1 X = (11001)gray

En résumé

( 1 0 0 1 0 )2

( 1 1 0 1 1 )gray

De gauche à droite faire la somme des bits adjacents sans retenue oubien faire un
XOR.

Conversion du code Gray vers le code binaire

Soit X = GnGn-1…..G0 représenté en code Gray

Pour convertir X en binaire il faut suivre les règles suivantes :

• Bn=Gn
• Bi = 1 si Gi ≠ Bi+1
• Bi = 0 si Gi = Bi+1

Mme F.DJIDEL
Page 17
Exemple : pour n = 4 X = (1 0 1 0 1)gray

• G4 = 1 => B4 = 1

• G3 = 0 => G3 ≠ B4 => B3 = 1

• G2 = 1 => G2 = B3 => B2 = 0

• G1 = 0 => G1 = B2 => B1 = 0

• G0 = 1 => G0 ≠ B1 => B0 = 1 X = (1 1 0 0 1)2

En résumé

( 1 1 0 1 1)Gray

( 1 0 0 1 0 )2

Tableau du code Gray

Mme F.DJIDEL
Page 18
Le code ASCII

Définition

Un ordinateur ne serait pas d'une grande utilité s'il n'était pas capable de traiter
l'information non numérique. On veut dire par là qu'un ordinateur doit reconnaître des
codes qui correspondent à des nombres, des lettres et des caractères spéciaux. Les codes
de ce genre sont dits alphanumériques et le plus connu est appelé American Standard
Code for Information Interchange (ASCII), mise au point dans les années 60. Ce code
définit un ensemble de 128 caractères représentés sur 8 bits, cet ensemble doit
renfermer au moins :

 les 26 lettres minuscules,


 les 26 lettres majuscules,
 les dix chiffres,
 environ 25 caractères spéciaux comme +, -, #, %, …
Ci-dessous une liste partielle du code ASCII.

Table des caractères ASCII

Chaque caractère se trouve au croisement d’une ligne et d’une colonne.


Le numéro de la ligne suivi du numéro de la colonne représentent le code du caractère en
hexadécimal.

Mme F.DJIDEL
Page 19
Exemple :
La lettre M se trouve au croisement de la ligne 4 et de la colonne D son code est 4D en
hexadécimal. Sa représentation est donc : 01001101 en code ASCII.

• Caractères de contrôle :

On peut considérer que l'ASCII dispose d’une trentaine de caractères de contrôle plus ou moins
utilisés. Les caractères usuels sont NUL, LF, CR, DEL et ESC .

- NUL indique la fin d’une chaine de caractères notamment en langage C.

- LF et CR indiquent la fin d’une ligne. On utilisera LF, CR ou les 2 selon le système d’exploitation.
Sous Linux par exemple ce sera LF, sous Mac OS on utilise CR sous Windows ce sera CR suivi de LF.

- ESC indique la sortie d’un texte.

- DEL indique l’effacement d’un caractère.

Le Code UNICODE

Définition :
L’Unicode est une norme de codage mise au point dans les années 90. Il définit plus de
100000 caractères de plusieurs langues, codés sur 16 bits.
Le code ASCII est inclus dans l’Unicode.

Le code ASCII est uniquement basé sur les lettres anglo-saxonnes, on n’y trouve pas les
lettres accentuées de la langue française comme le à ou le é par exemple. On y trouve
également d’autres lettres utilisées dans les langes hispanique ou germanique.

On peut retrouver ces lettres dans le tableau UNICODE suivant :

Comme pour le code ASCII le code d’un caractère est donné par le numéro de la ligne
suivi du numéro de la colonne ou il se trouve.

Exemple : Le code de ê est 00EA sa représentation en UNICODE est 0 0 0 0 0 0 0 0 1


1101010
Mme F.DJIDEL
Page 20
En plus de la table des lettres accentuées, il existe une multitude de tableaux pour coder
les lettres de toutes les langues.

Table des caractères Arabes

Exemple :

Le code de la lettre ‫ ج‬est 062C sa représentation est 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0

Mme F.DJIDEL
Page 21

Vous aimerez peut-être aussi