CODAGE DES INFORMATIONS I - LYCEE ET CFA JEANNE D`ARC

Transcription

CODAGE DES INFORMATIONS I - LYCEE ET CFA JEANNE D`ARC
 CODAGE DES INFORMATIONS Les informations traitées par les ordinateurs sont de différentes natures :
 Nombres, textes,
 Images, sons, vidéos,
 Programmes…
Dans un ordinateur, elles sont toujours représentées sous forme binaire (BIT : Binary digIT) c’est-à-dire une suite
de 0 et de 1.
I- Terminologie
I.1Unité de codage
Les composants constituants un système informatique réagissent, de manière interne, à des signaux « tout ou
rien ». On représente les deux états stables ainsi définis par les symboles « 0 » et « 1 » ou encore par « L » (low)
et « H » (high).
Le système de numération adapté à la représentation de tels signaux est donc la base 2, on parle ainsi de codage
binaire.
L’unité de codage de l’information est donc un élément ne pouvant prendre que les valeurs 0 ou 1 : le bit
(contraction de Binary Digit, c’est-à-dire Binary Digital Unit).
I.2 Unité de transfert
Pour les échanges de données, les informations élémentaires (bits) sont manipulées par groupes qui forment ainsi
3
des mots binaires. La taille de ces mots est le plus souvent un multiple de 8 = 2 .
L’unité de transfert utilisé pour les échanges de données est le mot de 8 bits appelé octet (byte).
Le bit de poids faible (en anglais Least Significant Bit, ou LSB) est pour un nombre binaire le bit ayant dans une
représentation donnée la moindre valeur (celui de droite dans la représentation positionnelle habituelle).
À l'opposé, on a le bit de poids fort (MSB).
I.3 Mots binaires
En dehors de l’unité de transfert (octet), des regroupements plus importants de bits sont couramment utilisés : le
mot de 16 bits = 2 octets (word), le mot de 32 bits = 4 octets (double word), et le mot de 64 bits = 8 octets (quad
word)…
Par abus de langage on a tendance à écrire que ko = kio, Mo = Moi …
1/12 CODAGE DES INFORMATIONS I.4 Activités
Activité 1
La fiche technique d'un disque dur externe indique une capacité de 320 GB,
 Exprimez cette capacité en Mio.
Activité 2
Votre fournisseur ADSL vous annonce un débit descendant de 8 192 kibits/s.
Vous faites une mesure de débit réel et vous trouvez une moyenne de 3 280 kibits/s.
 Quel sera le temps théorique minimal de téléchargement d'une application de taille égale à 25 Mo ?
II- Codage binaire
Comme pour toutes autres bases de calcul, la base 2 utilisée pour le codage répond à la règle suivante :
Pour un nombre codé en base B, chaque symbole de ce nombre, de la gauche vers la droite, est un
multiplicateur d’une des puissances successives de B.
Exemple
365
(base 10, donc 10 symboles de représentation 0,1,2,3,4,5,6,7,8,9)
10
2
1
0
= 3.10 + 6.10 + 5.10
=365
101101101
(base 2, donc 2 symboles de représentation :0,1)
2
8
7
6
5
4
3
2
1
0
=1.2 + 0.2 + 1.2 + 1.2 + 0.2 + 1.2 + 1.2 + 0.2 + 1.2
=365
Comme pour toutes les autres bases de calcul, la plage de valeurs d’un nombre dépend de la quantité de
symboles le constituant /
N
Un nombre codé avec N symboles en base B peut prendre B valeurs entières différentes
N
(soit l’intervalle 0…B -1)
III- Algèbre de boole
En plus des opérations arithmétiques de base (addition, soustraction, et division), tous les systèmes combinatoires
sont soumis aux règles de l’algèbre de l’anglais Boole qui traduisent les raisonnements logiques à partir de
propositions vraies ou fausses.
L’algèbre de Boole est commutative, associative et distributive. Un booléen est donc un élément binaire, vraie ou
faux, « 1 » ou « 0 ».
2/12 CODAGE DES INFORMATIONS Activité
 Convertir manuellement les valeurs suivantes (base 2 ↔ base 10) :
2510, 100010, 10002, 110100000002
IV- Représentation hexadécimale
Le binaire, s ‘il est très représentatif du codage interne des machines, reste très délicat et fastidieux à
manipuler. Les programmeurs ont très vite ressenti le besoin d’utiliser une représentation plus rapide des nombres
binaires.
4
Imaginons de représenter chaque quartet binaire par un unique symbole. Un quartet permettant de coder 2
valeurs (soit 0 à 15), il faut dons trouver une base de représentation disposant de 16 symboles : il s’agit de la base
16 appelée hexadécimal.
Cette base de calcul répond aux mêmes règles que les autres en ce qui concerne les plages de valeurs et
les techniques de conversion. Elle est représentée par les 10 chiffres et les 6 premières lettres de l’alphabet.
3/12 CODAGE DES INFORMATIONS Activité
 Convertir les valeurs suivantes
(base 16 ↔ base 10 ↔ base 2) : 149216 151516 BAFFE16
V- Interprétation signée
Comment les valeurs entières négatives sont-elles représentées ?
Par convention le MSB est interprété comme bit de signe (le nombre est considéré négatif si le MSB est égal
à 1).
Le passage d’une valeur positive à la valeur négative de même valeur absolue peut-être obtenu par le
complément à 2 (inversion bit à bit puis ajout de 1) :
−N = N +1 Interprétation signée sur 8 bits
4/12 CODAGE DES INFORMATIONS Activité
 Exprimez, en décimal, les valeurs binaires signées suivantes
0001.1111, 1010.1100, 1000.1010.1101.0000.
VI- Codage des entiers relatifs : synthèse
VII- Codage des caractères
Une grosse part des informations manipulées par les systèmes numériques concerne le langage parlé ou
écrit matérialisé sous forme de textes, eux-mêmes constitués de caractères typographiques. Comment coder
universellement ces caractères et permettre ainsi l’échange d’informations entre machines et/ou utilisateurs, quelle
que soit la langue utilisée ?
VII.1 Le code ASCII
Le jeu de caractères codés ASCII (American Standard Code Information Interchange), inventé par Bob
Berner en 1961, est la norme de codage de caractères en informatique la plus connue, la plus ancienne et la plus
largement compatible.
Le code ASCII est un code sur 7 bits (valeur de à 127), il permet de définir :
 des caractères imprimables universels : lettres majuscules et minuscules, chiffres, symboles de ponctuatio…
 des codes de contrôle nom imprimables : indicateur de saut de ligne, de fin de texte, codes de gestion des
échanges, codes de contrôle de périphériques…
5/12 CODAGE DES INFORMATIONS Exercice
 Décrypter la chaîne ASCII suivante représentée sous forme d'une suite d'octets :
0101 0011 0101 0100 0100 1001 0010 0000 0011 0010 0100 0100 0000 1101 0000 1010
ASCII contient les caractères nécessaires pour écrire en anglais. Si cela est suffisant pour écrire des
programmes, il n’en va pas de même lorsqu’il s’agit de transcrire un texte en français. Comment coder nos lettres
accentuées et autres cédilles ?
VII.2 Universalité
Pour coder de manière universelle l’ensemble des symboles utilisés quelle que soit la langue (anglais,
français, grec…), il faut attribuer à tout caractère ou symbole de n’importe quel système d’écriture de langue un
nom et un identifiant numérique, et ce de manière unifiée, quelle que soit la plate-forme informatique ou le logiciel.
C’est ce que propose la norme Unicode (développée par le Consortium du même nom, www.unicode.org).
Chaque symbole d’écriture est représenté par un nom et une valeur hexadécimale préfixée par « U+ ».
Exemple :
A est représentée par U+0041
é est représenté par U+00E9
€ est représenté par U+20AC
Pour stocker sur un support informatique un texte constitué de caractères Unicode, il faut encore choisir un
procédé transformant chaque définition Unicode en une suite d’octets et réciproquement. C’est le processus
d’encodage.
6/12 CODAGE DES INFORMATIONS Actuellement, un des systèmes d’encodage couramment utilisés (Unix, Internet…) est UTF-8 (Unicode
transformation Format). Ce système rempli les conditions suivantes :
 Les caractères faisant partie de l’ASCII sur 7 bits doivent rester inchangés. L’objectif est de permettre un
maximum de compatibilité entre les documents UTF-8 et les applications qui ne connaissent que l’ASCII et
supposent qu’un caractère correspond à un octet.
 Les caractères encodés peuvent occuper de 1 à 4 octets. Comme la majorité des caractères font plusieurs
octets, il doit être possible d’en retrouver le début ; ceci afin de pouvoir l’utiliser dans un flux de données.
UTF-8 propose pour cela un codage sous forme d’octets dont les bits de poids forts sont discriminants.
VII.3 Activité
 Quel est, en hexadécimal, le résultat de l'encodage UTF-8 des symboles «A», « é » et « € » dont les codes
Unicode sont U+0041, U+00E9 et U+20AC ?
VIII- Codage des images
Après le texte, l’image est sans nul doute le support le plus utilisé pour communiquer.
Dans le domaine du numérique, les images sont constituées d’une matrice LxH (LargeurxHauteur) de points
élémentaires que l’on nomme généralement des pixels (abréviation de Picture Element). Le pixel représente donc
le plus petit élément constituant une image nnumérique.
Chaque pixel a une couleur codée sur un nombre plus ou moins grand de bits.
LxH (en pixels) correspond à la définition de l’image.
Exemple
7/12 CODAGE DES INFORMATIONS Le caractère ASCII $41 peut-être simplement représenté sur une matrice
5x7 en allumant les pixels adéquats. La couleur peut-être ici matérialisée
par un unique bit (pixel allumé ou éteint).
Le codage d’une image peut donc dans un premier temps se résumer en la succession des codages des pixels
suivant un ordre bien défini (balayage lignes-colonnes en partant du coin supérieur gauche)
VIII.1 Codage de la couleur
Le mode de représentation RVB (Rouge, Vert et Bleu, ou en anglais RGB pour Red Green Blue) correspond à
celui fourni par la plupart des caméras couleurs, il est naturellement utilisé pour la reproduction de couleurs sur
écran (base noire). C’est le mode de composition des couleurs basé sur le principe des couleurs additives : le
rouge, le vert et le bleu sont les trois primaires utilisées dans la constitution de couleurs à partir de sources
lumineuses.
Synthèse additive
Modèle RVB (trièdre de Maxwell)
Exemple :
Pixel blanc
Pixel noir
Pixel rouge
Pixel vert
Pixel cyan
Pixel jaune
→ codage RVB : $FFFFFF
→ codage RVB : $000000
→ codage RVB : $FF0000
→ codage RVB : $00FF00
→ codage RVB : $00FFFF
→ codage RVB : $FFFF00
VIII.2 Activités
Exprimez en hexadécimal les couleurs RVB suivantes (proportions en %), en déduire un nom possible de la
couleur : %RVB (100, 65, 0), %RVB (93, 51, 93) et %RVB (60, 80, 20).
8/12 CODAGE DES INFORMATIONS Quelle est la taille (en octets) d'une image non compressée, de définition 640x480 et de profondeur 24 bits ?
L'image est incorporée à un document destiné à être distribué sous forme de photocopies N&B.
Quelle économie de taille réalisez-vous en convertissant l'image en 256 niveaux de gris ?
Remarque
Le terme profondeur est utilisé pour spécifier le nombre de bits alloué au codage de chaque pixel.
Votre ordinateur affiche sans problème des images de définition 1024x768 et de profondeur 32 bits (RVBA).
Que pouvez-vous en déduire quant à la taille mémoire de votre carte vidéo ?
9/12 CODAGE DES INFORMATIONS IX- Exercices d’applications
IX.1 Conversion
 Convertir les valeurs décimales suivantes en binaire.
a. 65 b. 200 c. 254 d. 350 e. 2000 f. 10000
 Convertir les valeurs binaires non sign.es suivantes en décimal.
a. 1001100 b. 011010101 c. 110111101111 d. 1010101010101110 e. 101010101010100000111110
 Convertir les valeurs décimales suivantes en hexadécimal.
a. 65 b. 200 c. 254 d. 350 e. 2000 f. 10000
 Convertir les valeurs hexadécimales non sign.es suivantes en décimal.
a. 100 b. 5F3 c. ABCD d. FE80 e. 1CD45F f. FF0712AC
10/12 CODAGE DES INFORMATIONS IX.2 Mot binaire
 Séparer les mots binaires suivants en quartets et donner leur écriture hexadécimale.
1. 1001100
2. 011010101
3. 110111101111
4. 1010101010101110
5. 101010101010100000111110
IX.3 Calcul décimal
 Calculer en décimal les valeurs signées 8 et 16 bits suivantes.
1. %10001101
2. $9C
3. %01101111
4. $D31F
5. %1100100110110101
IX.4 Mémoire vive
La notice technique d’un ordinateur portable donne les indications suivantes : mémoire vive 2048 Mio, écran SXGA
(Super eXtended Graphics Array, 1 280x1 024 pixels, profondeur 32 bits), disque dur 250 Go.
 Donner, en octets, la capacité de la mémoire vive.
 Calculer la taille en kio de la plus grande image RGBA que cette machine puisse afficher.
 Donner, en Mio, la taille d’une partition égale à 40 % de la capacité totale du disque dur.
11/12 CODAGE DES INFORMATIONS IX.5 Fichier mp3
Un morceau de musique de durée 6 minutes et 36 secondes est disponible sous forme d’un fichier MP3.
L’encodage a été réalisé en qualité CD stéréo (44,1 kHz, c’est-à-dire 44 100 échantillons 16 bits par seconde et
par canal). Les données sont compressées pour obtenir le fichier qui a une taille égale à 6 332 562 octets.
 Calculer, en octets, la quantité brute de données (avant compression).
 Comparer avec la taille du fichier, en déduire le taux de compression du codeur.
 Le débit du MPEG-1 layer3 (MP3) doit être compris entre 112 et 128 kbits/s. Le fichier est-il conforme à cette
indication ?
IX.6 Robovolc
Le système de localisation du ROBOVOLC est basé sur un récepteur GPS qui utilise le standard NMEA. Les
trames envoyées par le récepteur sont constituées de caractères ASCII imprimables.
Une latitude de 21° 14’ 21” Sud est par exemple envoyée sous la forme de la suite de caractères 2114.35,S qui
correspondent à 21 degrés et 14,35 minutes (0,35x60=21’’).
La suite d’octets suivante (en hexadécimal) indique une longitude (avec les degrés sur 3 chiffres) :
30 35 35 34 30 2E 33 30 35 2C 45
 Décoder cette coordonnée GPS (en degrés, minutes, secondes d’angle).
 Chercher, à l’aide d’un atlas ou d’Internet, la position du robot…
12/12