0% ont trouvé ce document utile (0 vote)
6 vues7 pages

Types de codage en informatique

Le document traite du codage en informatique, en expliquant son importance et ses différentes méthodes, notamment le codage des nombres, des entiers relatifs, des nombres réels et des caractères. Il aborde les systèmes binaire et hexadécimal, ainsi que des techniques comme le complément à 2 pour les entiers relatifs et la représentation en virgule flottante pour les réels. Enfin, il présente le standard ASCII pour l'encodage des caractères, soulignant son rôle dans la communication entre dispositifs électroniques.

Transféré par

cange8890
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues7 pages

Types de codage en informatique

Le document traite du codage en informatique, en expliquant son importance et ses différentes méthodes, notamment le codage des nombres, des entiers relatifs, des nombres réels et des caractères. Il aborde les systèmes binaire et hexadécimal, ainsi que des techniques comme le complément à 2 pour les entiers relatifs et la représentation en virgule flottante pour les réels. Enfin, il présente le standard ASCII pour l'encodage des caractères, soulignant son rôle dans la communication entre dispositifs électroniques.

Transféré par

cange8890
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

INTRODUCTION

Le codage en informatique occupe une place importante dans le


développement d’une société. les hommes sont à la conquête perpétuelle du
monde pour mieux le connaitre et faciliter la vie. Dans cette quête le codage est
incontournable.
Le codage (aussi appelé programmation informatique) consiste à l’écriture
de lignes de code ayant objectif de donner des ordres à une machine ou à un
ordinateur afin de répondre à une demande ou à une action. L’histoire de codage
est relativement récente par rapport à l’histoire des mathématiques. Sont
développement est intimement aux évolutions technologiques et en particulier
au développement de l’ordinateur.

I- LES DIFFERENTS TYPES DE CODAGE

1- Codage des nombres

 Codage des entiers positifs


Pour coder des nombres entiers positifs, il existe plusieurs méthodes : le binaire,
l’hexadécimal etc... La plus connue est certainement le binaire, secondée par l'hexadécimal, les
autres étant plus anecdotiques. Pour comprendre ce qu'est le binaire, il nous faut faire un rappel
sur les nombres entiers tel que vous les avez appris en primaire, à savoir les entiers écrits en
décimal. Prenons un nombre écrit en décimal : le chiffre le plus à droite est le chiffre des unités,
celui à côté est pour les dizaines, suivi du chiffre des centaines, et ainsi de suite. Dans un tel
nombre :

 On utilise une dizaine de chiffres, de 0 à 9 ;


 Chaque chiffre est multiplié par une puissance de 10 : 1, 10, 100, 1000, etc. ;
 La position d'un chiffre dans le nombre indique par quelle puissance de 10 il faut le
multiplier : le chiffre des unités doit être multiplié par 1, celui des dizaines par 10, celui des
centaines par 100, et ainsi de suite.
Exemple avec le nombre 1337 :
1337= 1 x 1000 + 3 x 100 + 3 x 10 + 7 x 2
Pour résumer, un nombre en décimal s'écrit comme la somme de produits, chaque produit
Multipliant un chiffre par une puissance de 10. On dit alors que le nombre est en base 10.
1337 = 1 x 103 + 3 x 102 + 3 x 101 + 7 x 100
Ce qui peut être fait avec des puissances de 10 peut être fait avec des puissances de 2, 3, 4,
125, etc : n'importe quel nombre entier strictement positif peut servir de base. En informatique,
on utilise rarement la base 10 à laquelle nous sommes tant habitués. On utilise à la place deux
autres bases :

 La base 2 (système binaire) : les chiffres utilisés sont 0 et 1 ;


 La base 16 (système hexadécimal) : les chiffres utilisés sont 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9 ;
auxquels s'ajoutent les six premières lettres de notre alphabet : A, B, C, D, E et F.
- Le système binaire
En binaire, on compte en base 2. Cela veut dire qu'au lieu d'utiliser des puissances de 10 comme
en décimal, on utilise des puissances de deux : n'importe quel nombre entier peut être écrit sous
la forme d'une somme de puissances de 2. Par exemple 6 s'écrira donc 0110 en binaire :
. On peut remarquer que le binaire n'autorise
que deux chiffres, à savoir 0 ou 1 : ces chiffres binaires sont appelés des bits (abréviation de
Binary Digit). Pour simplifier, on peut dire qu'un bit est un truc qui vaut 0 ou 1. Pour résumer, tout
nombre en binaire s'écrit sous la forme d'un produit entre bits et puissances de deux de la forme :

Les coefficients sont les bits, l'exposant n qui correspond à un bit est appelé
le poids du bit.

- Système hexadécimal
L’hexadécimal est basé sur le même principe que le binaire, sauf qu'il utilise les 16 chiffres
suivants :

Chiffre
hexadéci 0 1 2 3 4 5 6 7 8 9 A B C D E F
mal

Nombre
décimal
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
correspo
ndant

Notation 00 00 00 00 01 01 01 01 10 10 10 10 11 11 11 11
binaire 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11

Dans les textes, afin de différencier les nombres décimaux des nombres hexadécimaux, les
nombres hexadécimaux sont suivis par un petit h, indiqué en indice. Si cette notation n'existait
pas, des nombres comme 2546 seraient ambigus : on ne saurait pas dire sans autre indication
s'ils sont écrits en décimal ou en hexadécimal. Avec la notation, on sait de suite que 2546 est en
décimal et que 2546h est en hexadécimal.
Dans les codes sources des programmes, la notation diffère selon le langage de programmation.
Certains supportent le suffixe h pour les nombres hexadécimaux, d'autres utilisent un
préfixe 0x ou 0h.

2-Codage des entier relatifs


Nous avons vu comment représenter les entiers naturels en langage binaire. Une idée qui aurait pu
être retenue est de coder le signe de l’entier sur le bit le plus à gauche, puis la valeur absolue de
l’entier sur les bits restants. Exemple : En codant sur un octet le nombre -45, on aurait obtenu
10101101 avec le 1 du bit de poids le plus fort qui code le signe ‘-‘ et 101101 qui code 45. Le
problème de cette méthode est le codage de deux 0 : Le positif (00000000) et le négatif (10000000) .
Il a donc fallu trouver une autre méthode

Attention : : Les entiers sont codés sur un octet ou un multiple d’un octet : 16 bits, 32 bits
Codage d’un entier relatif sur 8 bits.

Le bit de poids le plus fort (à gauche) sert à coder le signe de l’entier. Il reste donc 7 bits pour coder
le nombre soit des valeurs entre -128 et 127. Pour coder un entier positif, on met le bit de poids le
plus fort à 0 et l’on détermine l’écriture en binaire du nombre Exemple : Codage de 89 sur 8 bits
01011001. On va représenter 89 par 256 (28) -89=167. Ainsi -89=10100111. On notera que pour tout
entier relatif x entre 0 et -128, 256 + x ≥ 128, ce qui assure le 1 en début de codage

Méthode du complément à 2
Il existe une méthode simple qui permet de trouver la représentation des entiers relatifs en binaire.
a. On écrit la valeur absolue du nombre (par exemple 45 pour -45) : 00101101
b. On inverse tous les bits : Les 1 deviennent des 0 et inversement :11010010
c. On ajoute 1 au résultat :11010010+1=11010011
d. Le nombre obtenu est le codage de -45 sur 8 bits

Vérifions la cohérence du résultat obtenu. Il semble logique que +45 -45 =0


On a donc :
00101101 +11010011 = 00000000

Il reste une retenue (sur le neuvième bit), mais l’entier étant codé sur 8 bits, on obtient bien 0.
Cette méthode de calcul vient de la formule x’= 2n -|x|, ici 256-|x| ou|x| est la valeur absolue de x.

Astuce : Pour utiliser la méthode du complément à 2 :

On part de la droite, on ne change les bits que lorsque l’on rencontre le premier 1, sans toucher à
celui-ci... Exemple : 18=00010010 devient 11101110 qui code -18

«3- Codage des nombres réels


Points clés

 Un nombre flottant permet de représenter les réels sous la forme


(–1)signe × 1,mantisse × 2±décalage.
 Il existe différentes manières de coder un nombre réel, on privilégie
la notion de nombre flottant. Il faut faire attention au fait qu’un réel
sera toujours approché.

Pour bien comprendre

 Base du codage binaire


 Partie entière et décimale d’un nombre

Représenter un nombre réel


En informatique, le nombre de bits pour coder un nombre en binaire est limité. Un
nombre réel est donc un nombre décimal pour l’ordinateur. Il faut coder une partie
entière et une partie décimale.
Méthode – coder en binaire la partie décimale

1. On multiplie la partie décimale par 2, puis on stocke la partie


entière.
2. On réapplique ce qui précède à la nouvelle partie entière et cela
jusqu’à ce que la partie décimale soit nulle.

Exemple : codage de 10,37510 en binaire


La partie entière 1010 se code en binaire par 10102.
La partie décimale est 0,37510.

 On effectue 0,3752 × 2 = 0,750 : on conserve 0.


 On effectue 0,750 × 2 = 1,50 : on conserve 1.
 On effectue 0,502 = 1 : on conserve 1.
 La partie décimale est nulle, donc on s’arrête.

On obtient ainsi 10,37510 = 1010,0112.

Cette méthode peut cependant ne pas s’arrêter, ce qui pose problème.

Exemple : codage de 0,110 en binaire


La partie entière est nulle et la partie décimale est 0,110.

 On effectue 0,1 × 2 = 0,2 : on garde 0.


 On effectue 0,2 × 2 = 0,4 : on garde 0.
 On effectue 0,4 × 2 = 0,8 : on garde 0.
 On effectue 0,8 × 2 = 1,6 : on garde 1.
 On effectue 0,6 × 2 = 1,2 : on garde 1.
 On effectue 0,2 × 2 = 0,4 : on garde 0.
 On réobtient les mêmes nombres, on aura donc 00011 qui se répète à
l’infini.

On a donc 0,110 = 0,0001100011…2

L’ordinateur ne prendra qu’un petit nombre de bits, les nombres seront


donc approchés.

Représentation des flottants (sur 32 bits)


L’ordinateur ne peut pas coder une virgule, il faut donc normaliser sa position.
Propriété
Un nombre réel en base 2 peut s’écrire sous la forme normalisée :
(–1)signe × 1,mantisse × 2±décalage.

Pour écrire un nombre sous cette forme normalisée, on décale la virgule


de « décalage » vers la gauche (+) ou la droite (–) pour écrire le nombre
avec un seul 1 avant la virgule. La partie décimale est la mantisse.

Exemple : 10111,0112 = (–1)0 × 1,0111011 × 24


Il faut en effet décaler la virgule de 4 crans vers la gauche pour
obtenir 1,01110112.
La mantisse est 01110112.

Remarque : pour ne pas avoir à traiter les signes négatifs dans « décalage » ,
on lui ajoute 127.

La représentation en nombre flottant (ou virgule flottante) utilise la forme


suivante.

Avec :

 Le signe du nombre réel, qui vaut 0 (le nombre est positif) ou 1 (le nombre
est négatif)
 L’exposant (décalage+127), qui est codé en binaire sur 8 bits
 La mantisse (partie décimale du nombre), qui est codée sur 23 bits

La représentation d’un nombre flottant est de la forme suivante.

Signe (1 bit) Exposant (8 bits) Mantisse (23 bits)


Exemple : Écriture en nombre flottant du nombre décimal 10,375.

 On donne la forme normalisée de ce nombre : 10,37510 = 1010,0112 = (–


1)0 × 1,010011 × 23.
 Le nombre décimal est positif, le signe vaut donc 0.
 On applique l’exposant « décalage + 127 » : 3 + 127 = 130 codé en
binaire par 10000010.
 La mantisse vaut 010011, qu’on complète par des 0 pour avoir 23 bits :
on a donc 01001100000000000000000.
 L’écriture en nombre flottant est
donc 0 10000010 01001100000000000000000.
2-Codage des caractères
ASCII et ASCII étendu

ASCII est un standard pour l’affichage de caractères à travers des dispositifs électroniques.
Pour comprendre ce que cela signifie, il faut être conscient du fonctionnement réel d’un
ordinateur : sur un ordinateur, les processeurs de calcul sont toujours basés sur le système
binaire. Cela signifie que les processeurs d’un ordinateur sont déterminés par des 1 et des 0.
C’est pourquoi ASCII est également construit sur ce système. La norme ASCII d’origine
définit différents caractères à l’intérieur de 7 bits, c’est à dire sept chiffres qui indiquent 0 ou 1

Définition
ASCII : il s’agit d’un encodage de caractères, l’American Standard Code for Information
Interchange, précurseur américain de l’ISO 646 (qui définit des ensembles de caractères à
l’international). ASCII est un code de 7 bits définissant 128 caractères (2 7). L’encodage se
compose de 33 caractères non imprimables et 95 caractères imprimables et comprend des
lettres, des signes de ponctuation, des chiffres ainsi que des caractères de contrôle Unicode.

Le huitième bit, qui appartient à un octet entier, est traditionnellement utilisé à des fins de
vérification. Les versions étendues basées sur ASCII utilisent précisément ce bit pour étendre
les caractères disponibles à 256 (28)

Ainsi, chaque caractère correspond à une séquence de 0 et de 1 à sept chiffres, qui peuvent être
représentés par un nombre décimal ou un nombre hexadécimal. Les caractères ASCII peuvent
être divisés en plusieurs groupes :

 Caractère de commandes (0–31 & 127) : les caractères de contrôle sont des caractères
non imprimables. Ils sont utilisés pour transmettre des commandes au PC ou à
l’imprimante et sont basés sur la technologie de télécopie. Ces caractères permettent par
exemple de placer des sauts de ligne ou des tabulations. Bon nombre de ces caractères
ne sont plus utilisés aujourd’hui.
 Caractères spéciaux (32–47 / 58–64 / 91–96 / 123–126) : les caractères spéciaux
comprennent tous les caractères imprimables qui ne sont ni des lettres ni des chiffres,
tels que les signes de ponctuation ou les caractères techniques et mathématiques. ASCII
inclut également le caractère blanc, qui est considéré comme un caractère non visible
mais imprimable, et n’appartient donc pas aux caractères de contrôle comme on
pourrait le soupçonner.
 Nombres (30–39) : les nombres comprennent les dix chiffres arabes de zéro à neuf.

Lettres (65–90 / 97–122) : les lettres sont divisées en deux blocs, le premier groupe contenant
les majuscules et le second les minuscules.

Unicode
Unicode est un standard informatique qui permet des échanges de textes dans différentes
langues, à un niveau mondial. Il est développé par le Consortium Unicode, qui vise au codage de
texte écrit en donnant à tout caractère de n'importe quel système d'écriture un nom et un
identifiant numérique, et ce de manière unifiée, quels que soient la plateforme informatique ou
le logiciel utilisé.

Unicode est un système normalisé de codage des caractères. Le système le plus


courant utilise un codage sur deux octets ce qui autorise le codage de 65536 caractères. La
représentation d'un caractère Unicode en Javascript est de la forme "\uXXXX" ou les X sont
des caractères hexadécimaux.
Par exemple,

La lettre latine « a » correspond à U+0061.

La lettre cyrillique « Я » correspond à U+042F.

2- Codage du son et des images

Le codage des images


On distingue 2 grandes catégories de codage d’images :
- Le codage vectoriel : l’image est codée par un ensemble de formules mathématiques
- Le codage Bitmap ou matriciel : l’image est codée comme un tableau de points.

Le codage des sons

Vous aimerez peut-être aussi