Cours sur Le codage de l'information
![Cours sur Le codage de l'information](/images/remos_downloads/CoursInformatique-id3124.3123.pdf_thumb_prev.jpg)
Le codage de l'information
C'est quoi l'informatique ?
* L'informatique désigne l'automatisation du traitement de l'information par un système, concret (machine) ou abstrait.
* Dans son acceptation courante, l'informatique désigne l'ensemble des sciences et techniques en rapport avec le traitement de l'information.
* Dans le parler populaire, l'informatique peut aussi désigner ce qui se rapporte au matériel informatique (l'électronique), ou la bureautique.
• Internet, mail, WWW, …
• Outils bureautiques (traitements de texte, tableurs, …)
Difficulté
• Utilisation de logiciels scientifiquescroissante
(Bioinformatique, visualisation de données)
• Programmation
• Développement de logiciels
Présentation de l'ordinateur
Un ordinateur est un ensemble de composants électroniques modulaires, c'est-à-dire des composants pouvant être remplacés par d'autres composants ayant éventuellement des caractéristiques différentes, capables de faire fonctionner des programmes informatiques. On parle ainsi de « hardware » pour désigner l'ensemble des éléments matériels de l'ordinateur et de « software » pour désigner la partie logicielle.
Chaque élément est associé à une fonction:
Ecran (« voir »), DD (« écrire et lire »), souris (« faire des choix »), RAM (« mémoire »), lecteurs (DVD, CD, clée USB : « retrouver des données»…), processeur (« calculer »), clavier (« taper des mots »), … etc … (imprimante, carte mère, joystick, scanner, bus, modem….).
Notion clef en informatique : « l'information »
![](/images/remos_downloads/detail/31/CoursInformatique-id3123.3122.pdf-000.jpg)
Récapitulation de la liste précédent à quelques fonctions essentielles autour de cette notion:
- Echanger de l’information (clavier, souris, bus, écran, imprimante, modem…).
- Mémoriser de l’information (DD, RAM, ROM, DVD, CD, clée USB, …).
- Calculer de l’information (processeur).
Construction de schémas simples modélisant :
- Une télévision, une radio
- Une télévision/enregistreur
- Une calculatrice
- Un ordinateur
Définir des grandes notions :
- Le passage de l'information
- Unité de calcul
- Unité de stockage
L'information arrive (antenne), peut être retranscrite en temps réel (écran) ou enregistrée sur un disque et relue plus tard
L'information arrive (clavier), le calcul s'effectue puis le résultat s'affiche (écran).
L'information arrive (clavier, scanner, disquette, etc…), peut être affichée en temps réel (écran) ou mémorisée (DD, CD-rom, clé USB, etc…)
Des opérations peuvent être effectuées (processeur) puis le résultat stocké ou affiché (écran, imprimante, …)
![](/images/remos_downloads/detail/31/CoursInformatique-id3123.3122.pdf-001.jpg)
Quels types de mémoire trouve-t-on dans un ordinateur ?
Qu’est ce qui les différencie ?
Rôle | Taille | Vitesse | |||
ROM (read only memory) | Gravée dans un Tout le temps circuit en dur (gravée) | Lancer le système d’exploitation | n Ko | ||
Disque Dur | Magnétique | Tout le temps (stable sans énergie) | Stockage massif à long terme | n Go – 4 To ![]() | Lente (accès disque) |
RAM (random acces memory) | Electrique | Uniquement sous tension | Mémoire de travail des données et instructions en cours | 128 Mo – 64 Go | Rapide |
Cache | Electrique | Uniquement sous tension | Idem RAM mais optimisé | 100 Ko ![]() – 64 Mo | Très rapide |
Mémoire Principe Maintien
Quel est le rôle du processeur ? (Intel Pentium, AMD Athlon, etc…)
Calculer de nouvelles données (informations) avec des données (registres de données) et des instructions (registres d’instructions).
Les instructions commandent des portes logiques (des formes d’aiguillages) qui déterminent comment sont combinées les données entre elles.
Dialogue Processeur-Mémoire:
C'est le lien entre la machine et nous. Il existe différents SE (OS): Windows, Linux, MacOs, Unix, …
Un SE est un programme de base permettant de gérer :
- la mémoire et le processeur ;
- l’exécution des autres programmes ;
- la communication interne (le bus) ;
- les périphériques externes et donc le graphisme- Accessibilité de l'information aux utilisateurs
Windows est à la fois un système d'exploitation et une interface graphique.
Le disque dur d'un ordinateur conserve toutes les informations (textes, figures, films et programmes) dans des fichiers.
Afin de comprendre un peu mieux comment tout cela marche, quelques explications sont nécessaires.
Contenu et représentation des fichiers
![](/images/remos_downloads/detail/31/CoursInformatique-id3123.3122.pdf-004.jpg)
Il est important de comprendre la différence entre :
• Le contenu d'un fichier
• La représentation d'un fichier
Le contenu d'un fichier est ce qui est vraiment écrit sur le disque
La représentation d'un fichier c'est son affichage à l'écran au moyen d'un utilitaire.
Le même fichier peut s'afficher différemment suivant l'utilitaire utilisé. C'est ce que nous allons voir.
Les codages binaires et hexadécimaux.
Sur le disque un fichier est enregistré sous forme binaire : une série de zéros et de uns (001010101010101).
Comme cette notation est absolument impossible à lire pour nous, ce codage est généralement transformé en hexadécimal.
Dans la vie de tous les jours nous utilisons le système décimal, c'est à dire un codage avec dix chiffres de 0 à 9.
Dans les ordinateurs, tout est stocké sous forme élémentaire dans des bytes : une série de huit chiffres à la suite (soit zéro soit un) ;
Exemple : 0100 0010 est la façon dont est codé dans votre machine la lettre "B".
Il est bien évidemment impossible pour un oeil humain de lire la chaine de zéros et de uns.
Pour pouvoir lire ces valeurs plus facilement elles sont souvent transformées en hexadécimal.
L'hexadécimal est un codage sur 16 caractères de 0 à 9 puis de A à F. – Le nombre décimal 0 reste 0,... 5 reste 5, … 9 reste 9 – Le nombre décimal 10 devient donc A ...
– Le nombre décimal 15 devient F.
Le chiffre 1111 se code donc …. F (= 8+4+2+1)
![](/images/remos_downloads/detail/31/CoursInformatique-id3123.3122.pdf-005.jpg)
Parce que cela permet de transformer un byte en deux lettres : le codage sur
quatre chiffre permet de coder seize possibilités différentes.
Donc le nombre hexa 3F7A se traduit en binaire : 0011 1111 0111 1010. Correspondances binaire, décimal, hexadécimal
Binaire | Décimal | Hexadécimal | Binaire | Décimal | Hexadécimal |
0000 | 1010 | 10 | A | ||
0001 | 1 ![]() | 1 | 1011 | 11 | B |
0010 | 2 | 2 | 1100 | 12 | C |
0011 | 3 | 3 | 1101 | 13 | D |
0100 ![]() | 4 | 4 | 1110 | 14 | E |
0101 | 5 | 5 | 1111 | 15 | F |
0110 | 6 | 6 | 10000 | 16 | 10 ![]() |
0111 | 7 | 7 | 10001 | 17 | 11 |
1000 | 8 | 8 | etc | etc | etc |
1001 | 9 | 9 |
En hexadécimal
Conclusion :
![](/images/remos_downloads/detail/31/CoursInformatique-id3123.3122.pdf-009.jpg)
Un fichier incompréhensible
Le même fichier ouvert avec le text pad :
(((((AJ627909 / Marinomonas alkaliphila / U1:1.0,AF173967 /
Marinomonas communis / KT0923:1.0):1.0,((AY092066 / Marinomonas protea
/ 154:1.0,(AJ238597 / Marinomonas protea / :1.0,(AB074194 / Marinomonas primoryensis / KMM 3634:1.0,AB074193 / Marinomonas primoryensis / KMM
3633:1.0):1.0):0.3):1.0,Marinomonas pontii / 46
16T:1.0):1.0):1.0,(AB006770 / Marinospirillum megaterium /
H7T:1.0,X74698 / Vibrio cincinnatiensis / ATCC
35912T:1.0):1.0):0.5,X67025 / Marinomonas vaga / ATCC
27119T:1.0):1.0,AF063027 / Marinomonas mediterranea / ATCC 700492T:1.0);
Un fichier moins incompréhensible !
Finalement le même ouvert avec une application ad hoc :
Cette fois ci cela paraît plus compréhensible !
Il s'agit tout simplement d'un arbre qui représente les parentés entre certaines espèces de bactéries
Les flèches mettent en évidence des endroits où se situent la présence d'ancêtres communs à certaines espèces.
Il s'agit bel et bien du même fichier, mais ouvert avec des logiciels différents.
Ce qu'il faut retenir :
![](/images/remos_downloads/detail/31/CoursInformatique-id3123.3122.pdf-010.jpg)
- Un fichier enregistré sur le disque n'est qu'une suite de 0 et 1.
- C'est le logiciel utilisé pour ouvrir ce fichier qui va le "traduire" afin de l'afficher sous un certain format.
L'extension du fichier (.txt, .doc, .pdf) n'est qu'une indication qui permet d'associer un utilitaire (par défaut) pour ouvrir ce fichier.
Si vous cliquez sur un fichier .txt, windows associe par défaut le texpad pour l'ouvrir.
Si vous cliquez sur un fichier .doc, windows associe par défaut MS Word pour l'ouvrir.
? Vers la fin des années 30, Claude Shannon démontra qu'à l'aide de « contacteurs » (interrupteurs) fermés pour « vrai » et ouverts pour « faux » il était possible d'effectuer des opérations logiques en associant le nombre 1 pour « vrai » et 0 pour « faux ».
? Ce codage de l'information est nommé base binaire. C'est avec ce codage que fonctionnent les ordinateurs. Il consiste à utiliser deux états (représentés par les chiffres 0 et 1) pour coder les informations.
L'homme calcule depuis 2000 ans avant Jésus-Christ avec 10 chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), on parle alors de base décimale (ou base 10). Toutefois dans des civilisations plus anciennes ou pour certaines applications actuelles d'autres bases de calcul ont et sont toujours utilisées :
? base sexagésimale (60), utilisée par les Sumériens. Cette base est également utilisée dans le système horaire actuel, pour les minutes et les secondes ;
? base vicésimale (20), utilisée par les Mayas ;
? base duodécimale (12), utilisée par les anglo-saxons dans leur système
monétaire jusqu'en 1960 : un « pound » représentait vingt « shilling » et un « shilling » représentait douze « pences ». Le système d'heure actuel fonctionne également sur douze heures (notamment dans la notation anglo-saxonne) ;
? base quinaire (5), utilisée par les Mayas ;
? base binaire (2), utilisée par l'ensemble des technologies numériques.
Le terme bit (b avec une minuscule dans les notations) 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. Il est possible de représenter physiquement cette information binaire :
par un signal électrique ou magnétique, qui, au-delà d'un certain seuil, correspond à la valeur 1 ;
Avec un bit il est ainsi possible d'obtenir deux états : soit 1, soit 0. Grâce à 2 bits, il est possible d'obtenir quatre états différents (2*2) :
![](/images/remos_downloads/detail/31/CoursInformatique-id3123.3122.pdf-011.jpg)
0 0
0 1
1 0
1 1
Avec 3 bits, il est possible d'obtenir huit états différents (2*2*2) :
Valeur binaire sur 3 bits Valeur décimale
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
Pour un groupe de n bits, il est possible de représenter 2n valeurs.
Poids des bits
Dans un nombre binaire, la valeur d'un bit, appelée poids, dépend de la position du bit en partant de la droite. A la manière des dizaines, des centaines et des milliers pour un nombre décimal, le poids d'un bit croît d'une puissance de deux en allant de la droite vers la gauche comme le montre le tableau suivant :
![](/images/remos_downloads/detail/31/CoursInformatique-id3123.3122.pdf-012.jpg)
Nombre binaire 1 1 1 1 1 1 1 1
Poids 27 = 128 26 = 64 25 = 32 24 = 16 23 = 8 22 = 4 21 = 2 20 = 1
Conversions
Pour convertir un mot binaire en nombre décimal, il suffit de multiplier la valeur de chaque bit par son poids, puis d'additionner chaque résultat. Ainsi, le mot binaire 0101 vaut en décimal :
23x0 + 22x1 + 21x0 + 20x1
= 8x0 + 4x1 + 2x0 + 1x1
= 5
L'octet (en anglais byte ou B avec une majuscule dans les notations) est une unité d'information composée de 8 bits. Il permet par exemple de stocker un caractère, tel qu'une lettre ou un chiffre.
Ce regroupement de nombres par série de 8 permet une lisibilité plus grande, au même titre que l'on apprécie, en base décimale, de regrouper les nombres par trois pour pouvoir distinguer les milliers. Le nombre « 1 256 245 » est par exemple plus lisible que « 1256245 ».
Une unité d'information composée de 16 bits est généralement appelée mot (en anglais word).
Une unité d'information de 32 bits de longueur est appelée mot double (en anglais double word, d'où l'appellation dword).
Pour un octet, le plus petit nombre est 0 (représenté par huit zéros 00000000), et le plus grand est 255 (représenté par huit chiffres « un » 11111111), ce qui représente 256 possibilités de valeurs différentes.
27 =128 26 =64 25 =32 24 =16 23 =8 22 =4 21 =2 20 =1
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
Longtemps l'informatique s'est singularisée par l'utilisation de différentes valeurs pour les unités du système international. Ainsi beaucoup d'informaticiens ont appris que 1 kilooctet valait 1024 octets. Or, depuis décembre 1998, l'organisme international IEC a statué sur la question (). Voici donc les unités
standardisées :
![](/images/remos_downloads/detail/31/CoursInformatique-id3123.3122.pdf-013.jpg)
Un kilooctet (ko ou kB) = 1000 octets
Un Mégaoctet (Mo ou MB) = 1000 ko = 1 000 000 octets
Un Gigaoctet (Go ou GB) = 1000 Mo = 1 000 000 000 octets
Un Téraoctet (To) = 1000 Go = 1 000 000 000 000 octets
Attention ! De nombreux logiciels (parfois même certains systèmes d'exploitation) utilisent toujours la notation antérieure à 1998 pour laquelle :
Un kilooctet (ko) = 27 x 1000 = 210 octets = 1024 octets
Un Mégaoctet (Mo) = 220 octets = 1024 ko = 1 048 576 octets
Un Gigaoctet (Go) = 230 octets = 1024 Mo = 1 073 741 824 octets
Un Téraoctet (To) = 240 octets = 1024 Go = 1 099 511 627 776 octets
Il est également utile de noter que la communauté internationale dans son ensemble utilise préférentiellement le nom de « byte » plutôt que le terme « octet » purement francophone. Cela donne les notations suivantes pour kilobyte, mégabyte, gigabyte et terabyte : kB, MB, GB, TB
Notez l'utilisation d'un B majuscule pour différencier Byte et bit.
Les opérations arithmétiques simples telles que l'addition, la soustraction et la multiplication sont faciles à effectuer en binaire.
L'addition en binaire
L'addition en binaire se fait avec les mêmes règles qu'en décimale :
On commence à additionner les bits de poids faible (les bits de droite) puis on a des retenues lorsque la somme de deux bits de même poids dépasse la valeur de l'unité la plus grande (dans le cas du binaire : 1), cette retenue est reportée sur le bit de poids plus fort suivant...
Par exemple :
0 1 1 0 1
![](/images/remos_downloads/detail/31/CoursInformatique-id3123.3122.pdf-014.jpg)
+ 0 1 1 1 0
- - - - 1 1 0 1 1
La table de multiplication en binaire est très simple :
0x0=0
0x1=0
1x0=0
1x1=1
La multiplication se fait en formant un produit partiel pour chaque digit du multiplicateur (seuls les bits non nuls donneront un résultat non nul). Lorsque le bit du multiplicateur est nul, le produit partiel est nul, lorsqu'il vaut un, le produit partiel est constitué du multiplicande décalé du nombre de positions égal au poids du bit du multiplicateur.
Par exemple :
0 1 0 1 x 0 0 1 0 - - - - 0 0 0 0
0 1 0 1
0 0 0 0 - - - - - 0 1 0 1 0
Représentation d'un nombre dans un ordinateur
On appelle représentation (ou codification) d'un nombre la façon selon laquelle il est décrit sous forme binaire. La représentation des nombres sur un ordinateur est indispensable pour que celuici puisse les stocker, les manipuler. Toutefois le problème est qu'un nombre mathématique peut être infini (aussi grand que l'on veut), mais la représentation d'un nombre dans un ordinateur doit être faite sur un nombre de bits prédéfini. Il s'agit donc de prédéfinir un nombre de bits et la manière de les utiliser pour que ceux-ci servent le plus efficacement possible à représenter l'entité. Ainsi il serait idiot de coder un caractère sur 16 bits (65536 possibilités) alors qu'on en utilise généralement moins de 256...
Entier naturel, entier relatif, nombre réel :
Le choix à faire (c'est-à-dire le nombre de bits à utiliser) dépend de la fourchette des nombres que l'on désire utiliser. Pour coder des nombres entiers naturels compris entre 0 et 255, il nous suffira de 8 bits (un octet) car 28=256. D'une manière générale un codage sur n bits pourra permettre de représenter des nombres entiers naturels compris entre 0 et 2n-1. Les nombres réels seront codés sur beaucoup plus de bits.
La mémoire de l'ordinateur conserve toutes les données sous forme numérique. Il n'existe pas de méthode pour stocker directement les caractères. Dans les années 60, le code ASCII (American Standard Code for Information Interchange) est adopté comme standard.
Chaque caractère possède donc son équivalent en code numérique.
![](/images/remos_downloads/detail/31/CoursInformatique-id3124.3123.pdf-001.jpg)
Il permet le codage de caractères sur 8 bits, soit 256 caractères possibles.
Le code ASCII n'est pas unique et dépend fortement de la plateforme utilisée !