L`information binaire

Transcription

L`information binaire
L’information binaire
ISN
L’ordinateur, en ce début de troisième millénaire, est une machine plutôt prometteuse capable de manipuler un tas
d’informations a priori très différentes : nombres, texte, sons, images . . .
Ces informations, quelle que soit leur nature, se « matérialisent » sur nos ordinateurs par des fichiers, de tailles très
variables et aux noms plus ou moins explicites, comme l’illustre la copie d’écran ci-dessous.
Si votre ordinateur est convenablement configuré et dispose des logiciels adéquats, un simple double-clic sur chacun
de ces fichiers lance automatiquement le logiciel permettant de l’exploiter.
Contenu et représentation des fichiers : Il est important de comprendre la différence entre :
2 Le contenu d’un fichier
2 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é.
Extrait du contenu de fichiers informatiques visualisé grâce à l’éditeur hexadécimal Hex Editor :
Comme nous le voyons, que le fichier soit de type texte (pdf), photo (jpg) ou audio (mp3), sa structure est toujours
la même, à savoir une suite délurée et sexy de caractères alphanumériques.
Et encore faut-il remercier le logiciel de nous épargner une vision plus désespérante ! En effet, comme son nom
l’indique, l’éditeur nous propose le contenu des fichiers sous une forme hexadécimale. Sans cet effort de formatage,
nous pourrions alors constater que tous nos fichiers informatiques, sans exception, sont en réalité constitués d’une
très très très longue séquence uniquement composée de deux symboles : 0 et 1.
Caractéristiques de l’information binaire : vous pouvez considérer votre ordinateur comme un interlocuteur
étrange qui parlerait une langue dont l’alphabet ne serait composé que de deux lettres : "0" et "1".
Dès lors, toute information que vous voulez rendre compréhensible à un ordinateur doit auparavant subir un codage
binaire (binary coding) afin de la transformer en une séquence uniquement composée de ces deux symboles.
Tel est, ici, le sens de l’épithète "binaire" : qui ne comporte que deux états.
L’expression "information binaire" est celle qui sied le mieux à la logique interne de la puce informatique. Néanmoins,
l’usage des chiffres "0" et "1" est si pratique, et si universellement adopté, que l’on qualifie volontiers cette phase
de codage de l’information humaine en information binaire de numérisation (digitization) voire, pour les
indécrottables franglais, de digitalisation.
D’où le terme, certes galvaudé mais largement passé dans les mœurs, d’information numérique (digital data).
2 Une information imparfaite :
Le codage des informations par l’ordinateur en données binaires a pour la machine des avantages précieux, mais
elle le confine simultanément dans un univers quasi incompatible avec notre monde "sensible".
En effet, la plupart des informations que nous, humains délicats et raffinés, échangeons avec notre environnement
sont de type analogique (analogic). En d’autres termes, les stimuli auxquels nous sommes sensibles (sons, lumières
. . . ) sont pour la plupart issus de phénomènes naturels dont les variations sont parfaitement "fluides".
http://lycee.lagrave.free.fr
1/5
L’information binaire
ISN
Ainsi, par exemple, la voix de votre interlocuteur est assimilable à une onde sonore continue qui varie au gré de ses
intonations en une infinité de fréquences voisines.
Comme vous le devinez sûrement, l’information numérique telle que l’ingurgite l’ordinateur s’accorde mal avec
cette fluidité du réel. Tant qu’elle se borne à décrire une information discrète, c’est-à-dire dont toutes les valeurs
possibles sont en nombre fini, l’information binaire fait parfaitement l’affaire.
2 échantillonnage : Mais dès lors que l’information à numériser est de nature analogique, comme c’est très
généralement le cas, il faut alors se résoudre à "simplifier" plus ou moins fidèlement l’information originale en
procédant à un échantillonnage (sampling) de cette dernière.
De ce point de vue très précis, l’information numérique s’avère, par nature, inexorablement imparfaite.
2 Une information en paquets :
Autre caractéristique de l’information binaire : la taille "octuplée" des séquences codées.
Nous pouvons remarquer que toute information, quelle qu’elle soit, se trouve toujours codée par une séquence
composé d’un nombre de caractères multiple de huit.
L’observation pourrait être anecdotique, mais elle témoigne en fait du mode de fonctionnement très particulier du
processeur qui manipule l’information binaire par "pelletées" de volume toujours identique.
2 Une information équivoque : Une dernière petite réflexion,les deuxième (codage du nombre 82) et troisième
lignes (codage de la lettre R majuscule) de notre petit comparatif révèlent qu’une même séquence binaire peut
parfaitement coder des informations différentes.
Le fait est que pour numériser de l’information, le processeur se sert de multiples codes adaptés à la nature de
l’information. Dès lors, il est tout à fait possible que deux codes différents, appliqués à deux informations différentes,
conduisent à la même séquence binaire.
En d’autres termes, il est foncièrement impossible de dire ce que code une information binaire si on ignore la
méthode de codage qui a été utilisée pour la produire.
2 Pourquoi le binaire ? Pour une poignée de raisons fort simples, mais furieusement ingénieuses, formulées en
1948 par le mathématicien américain Claude SHANNON[1916-2001] dans son article
"A Mathematical Theory of Communication"
– simplicité : il est en effet bien plus facile de concevoir et, surtout, construire des machines reposant sur une
logique binaire pour laquelle chaque variable ne peut prendre que deux états.
– univocité de l’information binaire : ce qui n’est pas "0" est "1", et ce qui n’est pas "1" est "0" : difficile de faire
moins ambigu !
– reproductibilité de l’information binaire : qualité primordiale lorsque l’on sait qu’un ordinateur est une fourmilière
numérique dont les composants ne cessent de s’échanger des flots de données binaires.
– universalité du codage binaire qui s’avère capable, en théorie, de représenter toute information structurelle, quelle
que soit sa nature.
http://lycee.lagrave.free.fr
2/5
L’information binaire
ISN
Le bit... : l’information binaire se constitue d’une succession de caractères "0" et "1". En fait, plutôt que le terme
"caractère", nous devrions employer le mot bit.
Le bit est l’ unité d’information de l’ordinateur. Comme nous l’avons vu, il ne peut prendre que deux valeurs
distinctes et complémentaires notées "0" et "1". Nous allons donc répéter encore une fois, mais cette fois en termes
très professionnels : toute information manipulée par un ordinateur, quelle qu’elle soit, se matérialisera par une
séquence de bits.
Le bit est très important en informatique. En tant qu’unité, il sert non seulement à définir la taille d’une information
binaire mais également le débit d’une connexion voire le type d’architecture d’un processeur. Bref, il est partout !
il se matérialise sous deux formes différentes :
2 Le bit actif (ou bit de travail) Au sein d’un ordinateur,à l’intérieur d’une puce, un bit "se matérialise" par
une simple différence de potentiel.
Ainsi, en un point donné d’un circuit électronique :
2 Si la tension est inférieure à une certaine tension seuil, le bit est considéré comme étant égal à "0",
2 Si la tension est supérieure à cette même tension seuil, le bit est considéré comme étant égal à "1".
Le caractère très immatériel du bit s’explique finalement assez bien. En effet, un ordinateur est susceptible de
manipuler des milliers d’informations binaires chaque seconde ; quoi de plus docile et rapide qu’un courant électrique
pour "matérialiser" ces bits si fugaces ?
Qui plus est, vous comprendrez maintenant toute la raison d’être de ce gros fil noir qui relie votre belle machine à
la prise de courant. Pas de jus, pas de bit !
2 Le bit passif (ou bit de stockage) Fort heureusement, le bit n’est pas toujours tributaire d’une source
électrique pour exister : nos CD, DVD, disques durs et autres supports de données sont la preuve (surtaxée) qu’il
n’est pas besoin de courant pour conserver une information numérique.
De fait, lorsqu’une information binaire est stockée, les bits qui la constituent n’ont plus besoin d’être aptes à
changer de valeur : ils peuvent être "fixés", de manière plus ou moins définitive. Tout ce qu’il faut alors, c’est un
moyen de les matérialiser de telle manière que l’on puisse identifier un bit "1" d’un bit "0".
Et là, les solutions ne manquent pas :
• Aux premiers temps de l’informatique, la solution mécanique fut la première exploitée,
principalement sous la forme de cartes perforées. Un trou égal "1", pas de trou égal "0" :
simple, artisanal, économique.
• La solution magnétique est celle utilisée par nos feues disquettes et actuels disques durs, la polarisation de
particules magnétiques disposées à leur surface permettant de coder les deux types de bits.
• La solution optique est celle exploitée par nos CD et DVD. Ici, ce sont des micro-cavités qui matérialisent les
bits "0" et qui sont détectées par la réflexion d’un faisceau laser incident.
2 Le bit dans tous ses états. Tant que l’information n’est pas utile, les bits qui la constituent se trouvent
stockés sous forme passive sur le support de données (ex un disque dur).
Dès que l’information est réclamée par le processeur, les bits concernés sont copiés au sein de la puce sous forme de
bits "actifs". Ils demeurent sous cette forme électrique tant que dure leur traitement.
Puis, lorsque le processeur en a fini avec eux, ils peuvent être ré-écrits sur leur support où ils retrouvent leur forme
passive de stockage.
http://lycee.lagrave.free.fr
3/5
L’information binaire
ISN
2 L’octet : la seule manière de manipuler des informations un tant soit peu complexes à l’aide de bits est
d’agréger ensemble ces derniers. De fait, c’est exactement ainsi que procède un processeur, qui ne manipule les
bits QUE regroupés ensemble, par paquets de longueur fixe.
De manière très imagée, il serait donc pertinent de dire que les ordinateurs avalent leurs données binaires par
"bouchées" de taille toujours identique. Il s’agit d’ailleurs d’une caractéristique si essentielle pour un type donné de
processeur qu’elle participe à la définition de son architecture.
De fait, la métaphore plut tellement aux pionniers de l’informatique que ceux-ci décidèrent d’appeler "bouchée" ou "morsure" - (en anglais "bite") le n-uplet de bits constituant l’unité de traitement de leurs puces savantes.
Tout cela était charmant, mais il s’avéra rapidement que, même pour un ingénieur américain, le duo de termes
"bit" - "bite" prêtait légèrement à confusion. Le plus littéraire d’entre eux émit alors l’hypothèse de remplacer le "i"
par un "y" : le byte était né !
Or, à l’aube des années 80, à l’heure où la micro-informatique commençait à devenir grand moyen public, les
ordinateurs à la mode mâchaient leurs données par bouchées de huit bits. En arrivant en francophonie, le "byte"
fut donc élégamment traduit en octet,pour qualifier un 8-uplet.
Combien de valeurs différentes est-il possible de coder avec un seul octet ?
28 = 256
Le léger problème est qu’en gagnant de la puissance, les processeurs aiguisèrent également leur appétit et furent
conçus pour avaler des bouchées toujours plus grandes. S’appuyant sur la définition historique du "byte", il eût été
logique que la taille du byte augmentât avec ces évolutions successives. Oui mais voilà ! Quelques années avaient
suffi à faire de l’égalité "1 byte = 8 bits" le "E = mc2 " de l’informaticien du dimanche.
Tant pis pour la définition originelle du byte ! D’unité évolutive définissant le nombre de bits d’une unité de
traitement des processeurs, le byte se vit ainsi figé pour l’éternité égal à huit bits, nouvel étalon universel pour
définir la taille des fichiers binaires.
Libérez d’ores et déjà une zone très accessible de votre cerveau pour y graver cette égalité fondamentale :
1 byte (unité B) = 1 octet (unité o) = 8 bits (unité b)
La communauté internationale dans son ensemble utilise le nom de « byte » plutôt que le terme « octet » qui est
francophone.
super-unités de l’octet (byte prefixes) : Pendant longtemps, on nous a appris que 1 kilo-octet valait 1024 octets, or
depuis décembre 1998, l’organisme international IEC a normalisé ce système : Un Kilo-octet (Ko) = 1 000 octets
Mais c’était sans compter sur le manque d’harmonie entre les différents acteurs de l’industrie du secteur. En effet, alors que les fabricants
de mémoire continuent d’exprimer la capacité de leurs barrettes en unités binaires (1 Go = 1.024 Mo), les fabricants de disques durs ou
de réseaux de communication ont, eux, décidé d’adopter la définition historiquement décimale des super-unités (pour laquelle 1 Go
= 1.000 Mo). Situation kafkaïenne lorsque l’on sait qu’un disque dur stocke pourtant des fichiers dont la taille est exprimée, elle, en
super-unités binaires !
Du coup, cette organisation a défini le kilobinaire(kibi) avec tous les préfixes habituels
un kibibit = 128 octets puisqu’un kibibit vaut 1.024 bits (kibi = préfixe binaire) et que 1 octet = 8 bits,
on retrouve donc bien 1 kibibit = 128 octets.
Nous avions laissé nos processeurs avaler leurs données par bouchées de huit bits, c’est-à-dire d’octets. En l’espace de quelque vingt
années, pourtant, les processeurs augmentèrent la taille de ces bouchées à 16, puis 32 et jusqu’à 64 bits pour les processeurs actuels.
Ainsi, un mot défini le nombre de bits qu’un processeur manipule en une seule fois. Il est d’ailleurs assez fréquent de trouver l’expression
"mot machine" afin d’insister sur l’aspect purement technologique du terme.
http://lycee.lagrave.free.fr
4/5
L’information binaire
ISN
Le binaire en pratique : L’observation est évidente : l’information binaire, si elle sied parfaitement à la machine,
est proprement incompatible avec l’entendement humain qui ne peut, non seulement raisonner en terme de
données binaires, mais même manipuler celles-ci sans, tôt ou tard, commettre une erreur de transcription dont les
conséquences peuvent être fâcheuses.
2 L’héxadécimal. Autrement dit : la base 16.
L’idée est simple : remplacer chaque quartet de bits par un symbole différent selon sa valeur. Un tel quartet
pouvant prendre 24 valeurs différentes, il nous faut donc 16 symboles différents pour parvenir à nos fins.
Pour les dix premiers, les chiffres décimaux 0 à 9 feront parfaitement l’affaire. Mais quid pour les 6 autres ?
L’hexadécimal se révèle tout à la fois simple et rapide
puisqu’aucun calcul complexe n’est à entreprendre. Il
suffit, pour procéder à la transcription en base 16, de
regrouper la séquence binaire par paquets de quatre bits
et de remplacer ceux-ci par leur symbole hexadécimal correspondant. Et vice versa pour une transcription inverse.
Difficile de faire plus simple !
Conséquence immédiate et quasi jouissive : tout octet
se trouve de fait codé par une séquence hexadécimale
comprise entre 00 (pour l’octet 00000000) et FF (pour
l’octet 11111111).
Attention ! Rien de plus simple que de confondre un
nombre exprimé en base 10 et un nombre exprimé en
base 16.
Il est donc très utile et très prudent de préciser qu’un
nombre est exprimé en base 16 en le mentionnant en
indice, de cette façon : 16316 . Certains langages de programmation utilisent d’autres convention, en faisant précéder le nombre de divers symboles (0x, $, &h, #16) ou en le faisant suivre du caractère h.
Comment coder en base 16 le nombre binaire 100110 ?
26. Nous rajoutons deux bits 0 non significatifs en tête du nombre afin d’obtenir les deux quartets "0010" et "0110"
puis nous remplaçons chacun de ceux-ci par leur équivalent hexadécimal, soit 2 et 6.
Le codage des couleurs
L’exemple type pour démontrer le haut intérêt des valeurs hexadécimales est le codage des couleurs. De nombreux
logiciels définissent les couleurs sous forme d’un trio de valeurs comprises entre 0 et 255 : une valeur pour le rouge,
une valeur pour le vert et une valeur pour le bleu. Ce codage, appelé RVB, conduit à ce que chaque couleur se
trouve exprimable sous la forme d’une chaîne de six caractères hexadécimaux, souvent précédée du symbole #.
Ainsi, par exemple, la couleur du texte peut-être # 0000A0, soit un triplet Rouge :0, Vert :0, Bleu :160.
Complétez le tableau ci-dessous. L’indice indique la base dans laquelle le nombre est écrit.
Bases
2
10010101102
200210
A1C416
http://lycee.lagrave.free.fr
10
16
×
×
×
5/5