L'information binaire

Auteur et date de la dernière mise à jour de la page. EC @ V.2008
Lecture(s) conseillée(s) avant d'attaquer le présent chapitre. Aucune base requise
Liste des mots et notions définis tout au long de cette page.

Alors voilà...

Plutôt qu'un long discours, un rapide comparatif entre l'Hominidé moyen et la puce informatique de base sur leurs manières respectives de décrire le Monde:

vu de l'humain... vu de la puce...
Vrai / Faux 00000001 / 00000000
Le nombre entier 82 01010010
La lettre R majuscule 01010010
La couleur jaune 1111111 11111111 100000000
Le nombre décimal 3,14151 01000000 01001001 00001110 10000000
Le mot "pomme" 01110000 01101111 01101101 01101101 01100101
L'instant précis où ces mots ont été saisis sur le clavier 00000000 00000000 00000001 00010101 10111100 10100101 01111010 01110110
Ce chef-d'oeuvre d'art contemporain: "Du Sang sur la Muleta", Museum of Modern Art, New-York. Fascinant, n'est-il pas ? 10001001 01010000 01001110 01000111 00001101 00001010 00011010 00001010 00000000 00000000 00000000 00001101 01001001 01001000... (etc sur 1.592 caractères)
Ce court extrait du dernier concert de M. Polnareff 01010010 01001001 01000110 01000110 01110111 00011101 00000000 00000000 01010111 01000001 01010110 01000101 01100110 01101101... (etc sur 60.392 caractères)
La dernière photo du fiston 11111111 11011000 11111111 11100011 10011001 11001100 10001010 11110000 11010010 11001100 00000000 00000000 10011010 10011010... (etc sur 20.503.928 caractères)
L'amour, Proust, une endive, la natation synchronisée, Liszt, le tuningEuh...Mauvais exemple. Un humain normalement constitué ne peut pas comprendre ce truc-là...... TILT !

Bref, une page qui s'annonce sensuelle et bigarrée...

Une chaîne d'information continue

Présentation de l'information binaire

Une information incroyablement variée...

Une Granny Smith (ici, une espèce indigène de la Silicon Valley)Reconnaissons-le: 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 prioriA priori seulement, car nous verrons bientôt que derrière toutes ces formes d'information ne se cachent en réalité que de bons vieux chiffres. très différentes: nombres, texte, sons, images....

Des informations très différentes, certes, mais en tout cas dénuées de toute valeur sémantique. Ainsi, si un ordinateur sait parfaitement lire, écrire ou mémoriser le mot "pomme", il demeure néanmoins incapable d'en appréhender ni le sens, ni la substance...et on ne vous parle pas du goût ! - et ne fera donc aucun lien spontané entre ledit mot et un cliché, même numérique, de Granny Smith.

Quoi qu'il en soit, 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.

Exemples de fichiers informatiques (répertoire mes_chefs_d_oeuvre vu via l'explorateur Windows XP)
Comme nous pouvons le voir, ce répertoire contient deux fichiers texte (extensions pdf et doc), une video (extension avi), une photo (extension jpg) et une chanson (extension mp3).

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.

Ainsi, par exemple, un double-clic sur le premier fichier ouvrira celui-ci dans le logiciel Adobe Acrobate Reader©, un double-clic sur le fichier photo provoquera l'affichage de celle-ci dans votre logiciel de visualisation préféré et un double-clic sur le fichier mp3 lancera automatiquement la lecture de la chanson via votre lecteur multimedia.
Ah, si tout pouvait se piloter à la souris...

Cette impressionnante clairvoyance de la machine est en fait basée sur un mécanisme on ne peut plus trivial puisque le système d'exploitation se contente en réalité de lire l'extension du fichier cliqué (les quelques lettres situées après le "."), compulse alors une petite liste pense-bête qui associe à chaque extension un logiciel donné, puis lance celui-ci, s'il est installé sur la machine.

Bref, renommez manuellement votre fichier en lui attribuant une extension fantaisiste et votre belle machine perdra illico les pédales. Mieux, attribuez facétieusement l'extension doc à votre fichier mp3 et l'ordinateur lancera bêtement Microsoft Word© afin de visualiser ce qu'il croira être un fichier texte.
Comme vous le voyez, l'intelligence artificielle a encore une certaine marge de progression...

FAQ

Pourquoi mon explorateur Windows ne m'indique pas les différentes extensions des fichiers contenus dans mes répertoires ?

Sûrement parce qu'il est configuré de manière à masquer celles-ci. Généralement, Windows remplace cette extension (finalement peu explicite) par une jolie petite icône illustrant le type de fichier, si celui-ci est référencé dans sa liste pense-bête.

Vous pouvez néanmoins forcer l'affichage de ces extensions sous ce bon vieux Windows XP via l'explorateur grâce au menu Outils > Options des dossiers, onglet [Affichage], puis décocher l'option "Masquer les extensions des fichiers dont le type est connu".

Puis-je moi-même associer manuellement des fichiers de type donné aux logiciels de mon choix ?

Mais tout-à-fait. Manquerait plus que ça ! Il vous suffit, depuis l'explorateur de Windows, d'activer le menu Outils > Options des dossiers et de sélectionner l'onglet [Types de fichiers]. Vous aurez alors accès à l'impressionnante liste des types de fichiers recensés sur votre machine, et pourrez modifier, supprimer ou créer les associations de votre choix.

...mais finalement pas tant que ça !

Bien. Nous savons désormais que notre système d'exploitation, faisant finalement ce pourquoi on l'a payé...ou pas., se permet d'intervenir lors de nos double-clics sur nos fichiers afin de "diriger" ceux-ci vers les logiciels appropriés. De ce fait, si nous voulons manuellement explorer le contenu de ces fichiers sans cette délicate interférence, nous devons utiliser un logiciel particulier appelé éditeur hexadécimalNous comprendrons plus tard ce drôle d'épithète., comme on en trouve des dizaines sur Internet.

Et voici ce que l'on découvre alors:

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écimalePromis, on voit ça plus bas.. 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.

Mais après tout, l'internaute un tant soit peu philosophe ne sera guère étonné: l'extraordinaire diversité de notre univers ne repose-t-elle pas sur un tout petit trio de particules élémentairesBon, c'est vrai que protons, neutrons et électrons sont eux-mêmes composés de quarks, mais ne poussons pas, ce n'est pas un cours de physique des particules ici. ?

Caractéristiques de l'information binaire

Une information de bric et de broc

Nous n'avons vraiment pas les mêmes valeurs

Sans doute serait-il plus conforme à la réalité de nommer "vrai" et "faux" ces deux symboles élémentaires. Mais ce serait encore trop humaniser la machine qui ne partage avec nous autres, roseaux pensants, pas même l'algèbre la plus élémentaire.

...Ou plutôt, plus respectueusement: de 1 et de 0.
Mais, soit dit en passant, ne vous fiez pas à ces caractères qui ressemblent à s'y méprendre à nos deux premiers chiffres décimaux. Pour la machine, il n'en est rien, même si les apparences peuvent être trompeuses.

Ce qui est certain, c'est que 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"Vous vous moquez, mais c'est à peine moins que le nombre de lettres constituant votre ADN.... 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 moeurs, d'information numérique (digital data) pour qualifier cette information, si humainement monotone, dont se repaît si avidement la machine.

Une information imparfaite

Le codage des informations par l'ordinateur en données binaires a pour la machine des avantages précieuxNous verrons ça aussi..., 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".

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. De la même manière, un arc-en-ciel, contrairement au mensonge éhonté que l'on apprend aux enfants, n'est pas constitué de sept couleurs mais d'un dégradé continu de nuances entre violet et rouge.

Analogique ou numérique, le réveil sonne toujours trop tôt

Petit exemple complémentaire à destination de nos lecteurs les plus littéraires explicitant la subtile quoiqu'essentielle différence entre valeurs analogiques et numériques...

A moins de disposer d'un majordome personnel, vous avez sans nul doute déjà croisé un réveil à affichage dit "digital". Celui-ci, pépère, se contente d'afficher en gros chiffres rouges et carrés les heures et les minutes au fur et à mesure que le temps passe.

Un mathématicien, ce personnage sournois et mystérieux, qualifierait un tel mode d'affichage de "discret"...et ce même si les chiffres illuminaient la pièce comme en plein jour, comme c'est d'ailleurs toujours le cas avec ces satanés engins.. De fait, le scientifique, par ce terme, voudrait signifier que le chiffre des heures, comme celui des minutes, ne peuvent prendre ici qu'un nombre fini de valeurs: de 0 à 23 pour le premier, de 0 à 59 pour le second.

Rappelez-vous maintenant la montre de grand-papa: sur celle-ci, aucun affichage digital mais deux aiguilles de taille inégale passant, au gré des heures et des minutes, par tous les angles entre 0° et 360°. Sur cette montre, donc, l'heure indiquée ne change plus une fois par minute mais de manière continue, fluide, bref analogique, et finalement plus conforme à la réalité physique du temps qui passe.

Bon. Les esprits chagrins ramèneront sûrement leur fraise en arguant que le mouvement des aiguilles n'est vraisemblablement pas continu mais que celles-ci avancent plutôt par "pas" assez petits pour nous donner l'illusion d'une continuité de mouvement. Ceux là auront parfaitement raison, mais plutôt que de démolir la pertinence de cette métaphore, ils démontreront au contraire qu'une information numérique peut, si elle met en jeu un nombre suffisamment important de valeurs discrètes...c'est-à-dire, dans le cas de notre exemple temporel, un nombre important de "pas" d'aiguille., nous restituer une illusion plus ou moins parfaite de fluidité.

Démentiel ! En plus de savoir, plaisir et jouissance, cette page donne l'heure !

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...comme par exemple les lettres d'un alphabet., l'information binaire fait parfaitement l'affaire. 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 echantillonnage (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.

Damned ! Je pensais que les médias numériques étaient de bien meilleure qualité que leurs ancêtres analogiques ! Dois-je vraiment jeter tous mes CD et DVD et écumer les braderies du coin pour racheter vinyls et cassettes VHS ?

Parfaitement ! Mais plutôt que de les jeter, faites un geste pour la planète et adressez-les à l'auteur de cette page, qui saura les recycler (la pop anglaise surtout).

Bon... en fait, gardez tout. Lorsque nous disons que l'information numérique est une version "simplifiée" de l'information analogique, nous parlons de l'information analogique telle que nos sens la perçoivent "à la source", que ce soit nos oreilles (pour les sons), nos yeux (pour les images) ou notre raison (pour les nombres réels, par exemple). Or, les médias analogiques tels que nous les connaissons ne restituent pas cette information originelle, mais une reproduction de celle-ci, obtenue par des méthodes imparfaites qui superposent au signal original des parasites, du bruit ou des distorsions.

La numérisation, même si nous avons vu qu'elle dénaturait le signal original, peut néanmoins approcher une fidélité quasi irréprochable. Mais il faut pour cela d'immenses quantités de "1" et "0". Le fait est qu'aujourd'hui, les capacités de nos supports optiques (CD, DVD) ou magnétiques (disque dur, clef USB) et la puissance de nos processeurs permettent le stockage et le traitement de telles quantités. Voilà pourquoi les médias numériques surpassent désormais en qualité les enregistrements analogiques.

Une information en paquets

Le marché aux pucesAutre caractéristique de l'information bianireL'information bianire, assez répandue, c'est un peu comme l'information binaire, sauf que le doigt chargé du "a" s'est montré anormalement plus vif que son collègue chargé du "n"., que les plus attentifs auront remarqué à la lecture de notre comparatif introductif: la taille "octuplée" des séquences codées.

De fait, cette remarque oculosaute dès la première ligne; en effet, on aurait légitimement pu s'attendre à ce qu'un seul symboleA vrai dire, ce serait même la seule situation où une information ne poserait pas trop de problème pour son codage binaire... ne suffise à discerner la notion "vraie" de la notion "fausse". Or, et ceci est par la suite confirmé sur toutes les autres lignes du tableau, 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.
Mais nous verrons tout cela un poil plus bas sur cette pageSi c'est pas du teasing, ça......

Une information équivoque...

Une dernière petite réflexion, que même les plus paresseux auront eu le temps de formuler en lisant l'introduction de cette page: les deuxième (codage du nombre 82) et troisième lignes (codage de la lettre R majuscule) de notre petit comparatif...décidément fort judicieux... 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 que code une information binaire si on ignore la méthode de codage qui a été utilisée pour la produire.

Ceci compris, il serait maintenant plus complet de reprendre notre tableau introductif et de lui ajouter une colonne renseignant sur le type de codage conduisant aux différentes séquences binaires présentées.

vu de l'humain... vu de la puce... Codage binaire utilisé
Vrai / Faux 00000001 / 00000000 Type "Booléen" en langage C
Le nombre entier 82 01010010 Numération binaire positionnelle
La lettre R majuscule 01010010 Codage ASCII
La couleur jaune 1111111 11111111 100000000 Codage RVB
Le nombre décimal 3,14151 01000000 01001001 00001110 10000000 Codage IEEE-754 simple précision
Le mot "pomme" 01110000 01101111 01101101 01101101 01100101 Codage ASCII
L'instant précis où ces mots ont été saisis sur le clavier 00000000 00000000 00000001 00010101 10111100 10100101 01111010 01110110 Temps UNIX...mesure le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 0h00.
Ce chef-d'oeuvre d'art contemporain: 10001001 01010000 01001110 01000111 00001101 00001010 00011010 00001010 00000000 00000000 00000000 00001101 01001001 01001000... (etc sur 1.592 caractères) Format graphique PNG
Ce court extrait du dernier concert de M. Polnareff 01010010 01001001 01000110 01000110 01110111 00011101 00000000 00000000 01010111 01000001 01010110 01000101 01100110 01101101... (etc sur 60.392 caractères) Format audio WAV
La dernière photo du fiston 11111111 11011000 11111111 11100011 10011001 11001100 10001010 11110000 11010010 11001100 00000000 00000000 10011010 10011010... (etc sur 20.503.928 caractères) Format graphique JPEG

Mais alors ? Pourquoi le binaire ?

Claude Shannon, jeune et beauClaude SHANNON, futur papa de la théorie de l'information.A bien lire ce premier chapitre, on pourrait franchement douter de la pertinence et de la fiabilité de l'information binaire pour restituer correctement l'information humaine. Mais alors, pourquoi avoir conçu l'ordinateur de telle manière qu'il ne comprenne que cette dernière ?

Et bien 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"...

  • La première raison est une bête question de 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.
  • La deuxième raison touche à l'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 !
  • La troisième raison, conséquente de la précédente, réside dans la reproductibilité de l'information binaire, qualité primordiale lorsque l'on sait qu'un ordinateur est une fourmillière numérique dont les composants ne cessent de s'échanger des flots de données binaires.
  • La dernière raison tient à l'universalité du codage binaire qui s'avère capable, en théorieCar nous avons vu qu'en pratique, la numérisation était souvent imparfaite., de représenter toute information structurelle, quelle que soit sa nature.

Bref, il semble bien que cette page va finalement s'avérer assez utile...

Le binaire sinon rien ?

Vais-je réellement devoir me mettre au codage binaire afin d'utiliser mon ordinateur à son plein potentiel ?
Rassurez-vous. Seuls de grands déments en blouse blanche chez Intel ou chez AMD s'adressent à leurs puces en binaire. C'est tout le rôle du système d'exploitationMais si, ce truc qu'on vous a vendu sans que vous ne le demandiez... Avec un bouton "Démarrer" pour l'arrêter... et du logiciel de masquer à l'utilisateur final, c'est-à-dire vous et moi, créatures analogiques et raffinées, le caractère exclusivement numérique de l'information telle que la manipule l'ordinateur lambda.
Néanmoins, si vous comptez vous frotter un jour à la programmation voire à certaines applications spécifiques, quelques notions de binaire pourraient bien ne pas se révéler superflues.

Tout ce que vous avez toujours voulu savoir sur le bit...

Inutile d'éloigner les enfants de la seconde partie de cette page, bien au contraire ! Nous allons quelque peu espacer les grandes considérations très théoriques comme nous les avons multipliées jusqu'à présent, et enfin nous rapprocher à grands pas de l'informatique pratique.

Les ptits bits

"Oh there will be an answer, les ptits bits..."The Bitles, 1969

Depuis le tout début de cette page, nous répétons que 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.

Gare à la faute de goût !

Le bit est expressément du genre masculin et correspond à l'abréviation de l'expression anglaise "chiffre binaire" (Binary digIT). Les anglophiles, même débutants, sauront apprécier le jeu de mot avec le substantif anglais "bit", qui signifie "un petit morceau".

Comme vous vous en doutez, 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 !
Dans la nature, il se matérialise sous deux formes différentes, selon sa capacité à... changer de sexeExpression facétieuse et imagée... Disons plutôt à commuter, c'est-à-dire à changer de valeur..

Le bit actif (ou bit de travail)

Au sein d'un ordinateur, il serait tentant et délicieusement naïf d'imaginer le bit comme une sorte de nano-composant électronique, quelque chose comme un tout petit compteur affichant "0" ou "1" au gré de sa valeur. La réalité est beaucoup moins "palpable" puisqu'à l'intérieur d'une puce, un bit "se matérialise" par une simple différence de potentielMais vous saviez sûrement déjà qu'un bit pouvait se trouver dans deux états de tension très différente....
Ainsi, en un point donné d'un circuit électronique:

  • Si la tension est inférieure à une certaine tension seuil, le bit est considéré comme étant égal à "0",
  • Si la tension est supérieure à cette même tension seuil, le bit est considéré comme étant égal à "1".
Le voltmètre est d'époque.

Sachant cela, il serait légitime, quoiqu'un peu surprenant il est vrai, de dire qu'un bit est susceptible de se trouver n'importe où, tant que ce "n'importe où" est conducteur électrique.
Bien évidemment, ce bit ne sera utile que s'il existe, quelque part au bout ce "n'importe où"Oui, c'est vrai que tous ces "n'importe où" ne font pas très... sérieux. Mais cette page n'étant pas consacrée à l'architecture matérielle des ordinateurs, l'expression s'avère finalement tout à fait acceptable., un dispositif pour le détecter.

Tout est relatif, même la logique

Le fait d'associer les valeurs "0" et "1" des bits à des tensions respectivement basse et haute est somme toute assez péremptoire. Telle est néanmoins le parti pris des machines basées sur une logique positive.
L'alternative est cependant tout à fait envisageable et des composants conçus sur une logique négative s'avèreront tout aussi efficaces.
De fait, tout est question de choix technologique et de représentation interne des bits.

 

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 !

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:

Sur les CD-RW, DVD-RW et disques durs, les bits stockées peuvent être lus, effacés puis ré-écrits un nombre considérable de fois. Il est des cas, en revanche, où l'information numérique stockée l'est une fois pour toute. Dans ce cas, les bits sont en quelque sorte "gravés dans le marbre" et ne sont plus modifiables. C'est notamment le cas des CD-R, DVD-R et, moins connues du grand public, des mémoires mortes.

 

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 (ici, 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.

L'octet: parce que le bit est cénobite

Y'a pas peu dire, 0 ou 1, c'est quand même un peu juste pour mener une intéressante conversation ! Cela peut certes suffire pour exprimer un définitif Oui / Non ou Bien / Mal, mais l'Univers s'avère un chouia plus complexe et il conviendrait de pouvoir représenter des informations un tantinet plus subtiles. Alors, comment qu'on fait ?

Une ancienne morsure de puce...

N-uplet, cette page ?

"Paquet", "groupe", "ensemble": tels sont les mots que le commun des mortels emploierait indistinctement pour décrire cette simple notion de regroupement de bits. Mais le mathématicien a un mot bien à lui, il est vrai bien plus précis: le tuple, ou encore n-uplet.
En mathématique, un n-uplet est une liste ordonnée de n objets. Le termeVous serez donc gentil(le), à l'avenir, de demander à vos amis leur 10-uplet de téléphone et non pas, si vulgairement, leur "numéro". n'est donc pas si inutile car il sous-entend à la fois la notion de taille fixe de la liste, mais également l'ordre bien défini qui doit exister entre ses différents composants.

La solution coule de source: la seule manière de manipuler des informations un tant soit peu complexes à l'aide de bits est d'agréger ensemble ces derniers...un peu comme l'agrégation de nos particules élémentaires suffit à l'infinie diversité de l'Univers.. 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 architectureCe terme définit à la fois l'organisation fonctionnelle des différents éléments d'un processeur et les technologies utilisées dans la conception de celui-ci. Bref, que du lourd..

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"Heu... vous avez vu sur quoi est posé votre doigt, là ?
Normalement, ces choses là ne se font pas...
) 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...et en particulier le 8080 de Intel (déjà)... mâchaient leurs données par bouchées de huit bits. En arrivant en francophonie, le "byte" fut donc élégamment traduit en octet, mot somme toute étymologiquement sensé pour qualifier un 8-uplet.

A votre avis, combien de valeurs différentes est-il possible de coder avec un seul octet ?
8
Voyons, voyons:
Un seul bit permet de coder deux états différents: 0 et 1 - Ça, nous le savons déjà.
Deux bits permettent de coder quatre états différents: 00, 01, 10 et 11, c'est-à-dire 22 valeurs différentes.
Trois bits permettent de coder 000, 001, 010, 011, 100, 101, 110, 111 - soit 23 valeurs différentes.
Et ainsi de suite jusqu'à huit bits, qui permettent de coder 28 valeurs différentes comprises entre 00000000 et 11111111.
256
Exact. C'est-à-dire 28 valeurs comprises entre 00000000 et 11111111.
11111111
Petit malentendu. 11111111 est la valeur maximale pouvant être prise par un octet, mais ce n'est pas le nombre de valeurs différentes que celui-ci peut coder.

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 grandesAinsi, à l'heure où sont écrites ces lignes, la plupart des machines grand public appartiennent à la famille des processeurs dits 64 bits (soit des "bouchées" huit fois plus grandes que du temps du 8080).. S'appuyant sur la définition historique du "byte", il eût été logique que la taille du byte augmentâtWhaou ! Mais ne serait-ce pas là un imparfait du subjonctif ? Moi qui pensais l'espèce totalement éteinte... avec ces évolutions successives. Oui mais voilà ! Quelques années avaient suffi à faire de l'égalité "1 byte = 8 bits" le "E = mc²" de l'informaticien du dimanche.
Non, décidément, il n'y avait aucun désir pour que le byte s'agrandîtIncroyable ! C'est un couple ! L'espèce n'est peut-être pas condamnée après tout......

Le byte étalon

En quelques années, le succès avait confisqué aux ingénieurs leurs précieux jouets. L'ordinateur cessait d'être l'apanage des scientifiques et autres huiles à gros cursus pour devenir "domestique". L'informatique n'était plus seulement une science, mais aussi désormais un florissant secteur d'activité économique. Les applications se multipliaient, l'ère du "logiciel" débutait, et, dans son sillage, l'industrie du support de données numériques - car il fallait bien stocker quelque part cette foison nouvelle de fichiers binaires.

Or, l'information numérique se démocratisant, il devenait nécessaire de trouver une unité solide afin d'exprimer de manière précise la taille des informations binaires, et, par conséquent, l'espace occupé par les fichiers sur leur support de stockage. Déjà très populaire, le byte-octet était tout désigné pour occuper ce rôle.

Mais dès l'instant où le byte devenait unité, il s'avérait délicat de modifier sa valeur, meme si, comme ce fût rapidement le cas, les nouveaux processeurs voyaient leurs "bouchées" passer à 16, puis 32 bits.
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.

Des symboles (presque) standards

Décidément, rien n'est simple avec le byte puisqu'il arrive que les normes internationales elles-mêmes se mélangent les pinceaux à propos du symbole à attribuer au byte (BIl y a en effet une règle qui veut que seules les unités dont l'origine est un nom propre (Volt, Newton...) peuvent prétendre aux caractères majuscules. Or, Gérard Byte n'a absolument rien fait pour le rayonnement de notre unité binaire. ou b) et au bit (b ou bit).
Néanmoins, ces mêmes normes, anglo-saxonnes, sont unanimement d'accord pour dire que l'octet c'est pas bien et que, d'ailleurs, le symbole "o" pourrait être trop facilement confondu avec un zéro.

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...majuscule) = 1 octet (unité o...minuscule) = 8 bits (unité b...minuscule)

 

Les super-unités de l'octet: vieux ko et jeunes ko

Bon, vous vous doutez bien que, de nos jours, on ne mesure pas grand chose avec un octet. Comme notre petit comparatif introductif nous l'a montré, les fichiers binaires, surtout lorsqu'il s'agit de sons ou d'images, atteignent vite des quantités impressionnantes de bits.
D'où, bien évidemment, le recours aux super-unités de l'octet (byte prefixes).

Juste comme ça, en passant... à votre avis, combien y-a-t-il d'octets dans un kilo-octet ?
1.000
Et dire qu'il y a quelques années encore, cette question faisait chuter des bataillons entiers de bleusailles...
1.024
L'auteur de cette page vous accueille avec plaisir dans le "Club des Joyeux Has-Binaires" ! On y est un peu serrés, mais nous accueillons chaque jour des brouettées de nouveaux membres...
Ça dépend...
Bin y'a un peu de ça, oui...

Si l'info vous avait échappé à ce point de la lecture (!), nous vous l'apprenons: l'ordinateur est une créature binaire. Donc, autant dire que pour lui, le nombre décimal 1.000 n'a absolument rien d'extraordinaire. Rien de comparable en tout cas avec le très harmonieux 100000000002, codage en base 2 de notre 1.024 décimalSi ce genre de phrase vous laisse perplexe, ce lien est faite pour vous....

Ainsi donc, l'informaticien du paléolithique supérieur, homme frustre mais somme toute assez logique, considéra très légitime d'attribuer au kilo-octet (ko), grandeur exclusivement informatique, l'équivalent de 1.024 octets. Et ainsi de suite pour le mega-octet (Mo) égal à 1.024 ko, le giga-octet (Go) égal à 1.024 Mo, et cetera.
Nous vous le disions encore il y a peu: avec le byte-octet, rien n'est décidément simple !

Suites divergentes

Tant que les ordinateurs d'antanA ce stade, l'auteur de cette page ne peut s'empêcher de verser une larme nostalgique sur son premier ordinateur: un Apple IIc, véritable monstre technologique doté de 128 ko de mémoire et d'un disque dur de... heu, en fait, il n'avait pas de disque dur. Le bon temps, quoi... se contentaient de gérer des kilo-octets, la confusion 1.000/1.024 restait somme toute amusante. Après tout, les deux valeurs ne différaient que de 2,4% !

Oui, mais voilà ! Les ordinateurs devenant de plus en plus puissants et de mieux en mieux dotés en mémoire et en espace de stockage, le fossé entre unités binaire et décimale ne pouvaient que s'accroître. Ainsi, avec le mega-octet, la différence entre base 2 (220) et base 10(106) grimpait à 4,86% - puis à 7,37% avec le giga-octet !
Et le tera-octet, qui pointe déjà son nez, n'allait rien arranger...

Après tout, l'informatique n'étant pas vraiment une science humaine, il eût été envisageable de conserver cette spécificité très binaire de la définition des super-unités de l'octet. 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 !

Bref, il était temps que les organismes mondiaux de normalisation arbitrassentOh, hé ! C'est bon, on a compris... les différents points de vue, ce que l'IECInternational Electrotechnical Commission. Des gens très sérieux qui déterminent ce qui est bien et ce qui n'est pas bien de faire en informatique. fit en 1999 sous la publication indexée IEC 60027, en priant gentiment l'informatique de se plier aux règles très décimales de la science humaine.

Néanmoins, afin de ne pas complètement fâcher les vieux de la vieille...comme l'auteur de cette page !, un nouvel ensemble de préfixes fut instauré en parallèle de l'orthodoxe, avec des noms bien sérieux et des équivalents cette fois conservés en "logique" binaire:
 

super-unités décimales super-unités binaires
nom (SI) symbole (SISystème International. Bref, les unités officielles.) nom (F) symbole (FSymboles francophones à nous. Totalement illégaux.) valeur nom (SI) symbole (SI) valeur
kilobyte kB kilo-octet ko 103 kibibyte kiB 210
megabyte MB mega-octet Mo 106 mebibyte MiB 220
gigabyte GB giga-octet Go 109 gibibyte GiB 230
terabyte TB tera-octet To 1012 tebibyte TiB 240
petabyte PB peta-octet Po 1015 pebibyte PiB 250
exabyte EB exa-octet Eo 1018 exbibyteEt si. On vous jure que si. EiB 260

Règlement de compte à octet-koral

La question à 1.024 €: à quoi équivaut un kibibit ?
128 octets
Parfait ! 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.
1.000 bits
Attention ! kibi- est un préfixe binaire, il ne faut donc pas le confondre avec le préfixe décimal kilo- du Système International.
1.024 octets
Attention ! Ne confondez pas "bit" et "byte". Rappelez-vous que 1 byte = 1 octet = 8 bits.
Je viens d'acheter un tout nouveau disque dur de 400 Go. Sachant que les fabricants de disques durs mesurent la capacité de leurs engins en unités décimales, mais que mon système d'exploitation...en général Windows, en bon produit monopolistique qui se respecte... continue, lui, d'utiliser les unités binaires. Quelle va être ma surprise en ouvrant mon explorateur de fichiers pour la première fois ?
Mon nouveau disque dur va paraître plus grand.
Grand(e) naïf(ve), va !
Mon nouveau disque dur va paraître plus petit.
C'est parfaitement exact, et cela a d'ailleurs décontenancé plus d'un acheteur !
En effet, d'après le fabricant de disque dur, son produit est capable de stocker 400.109 octets. Or, le système d'exploitation y verra plutôt 400.109 / 1.024 kilo-octets (soit 390.625.000 ko), c'est-à-dire 390.625.000 / 1.024 mega-octets (soit 381.467 Mo environ), c'est-à-dire 381.467 / 1.024 giga-octets, soit environ 372,5 Go.
Et hop, voilà 27 Go d'espace évaporé avant même d'y avoir stocké le moindre bit !
Ça dépend.
Heu, non. Ça ne marche pas à tous les coups ce genre de truc...

Les puces parlent mot-à-mot

Revenons un instant à l'appétit de nos puces savantes.
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...avec le processeur Intel 8086., puis 32...avec le processeur Intel 80386DX. et jusqu'à 64 bits...depuis le très discret processeur Intel Itanium. pour les processeurs actuels.

Le byte-octet ayant perdu, malgré son étymologie, toute aptitude à mesurer la taille croissante de ces bouchées, il fallait trouver un mot pour définir cette caractéristique si essentielle de l'architecture des processeurs.
Ce mot fut vite trouvé, ce fut le mot: word, soit le mot... mot en français.

Intel et les gros mots

Intel est si incontournable dans le petit univers de l'informatique que le mot perd parfois -lui aussi- sa connotation "évolutive" pour servir d'unité à l'architecture 80x86 du géant américain.
Dans ce contexte très précis, on définit alors:    - un byte (octet) = 8 bits
   - un word (mot) = 16 bits
   - un dword (double mot) = 32 bits
   - un qword (quadruple mot) = 64 bits
   - un dqword (double quadruple mot) = 128 bits

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.

A la différence du byte-octet, le mot est resté un terme d'architecture matérielle et n'est donc jamais utilisé comme unité de taille de fichiers.

 

Triste exemple de problème de communication inter-générationnel.

 

Laquelle (lesquelles) de ces propositions est (sont) vraie(s) ?
Une information binaire est toujours composée d'un octet.
C'est parfois le cas, mais parfois seulement ! Ce qui est toujours le cas, en revanche, c'est qu'une information binaire est composée d'un ou plusieurs octets.
Le bit se mesure en volt.
Non. Pas exactement. En fait, c'est un peu comme si, à la vue d'une clepsydre...une horloge à eau. Vous savez, le truc qui sert de sonnette à Fort Boyard., vous disiez: "La minute se mesure en millilitres". Dans ce cas précis, vous auriez sans doute un petit peu raison, mais le millilitre n'est pas pour autant une unité de mesure du temps ! Le bit est une unité d'information. Il peut être égal à "0" ou être égal à "1". Il existe de nombreuses manières de le "matérialiser", tout comme on peut "matérialiser" le temps avec une montre, un cadran solaire, ou un sablier.
Au sein d'un processeur, le bit est effectivement "matérialisé" sous forme d'une tension électrique. Dans ce cas, et dans ce cas seulement, il se mesure - ou l'on devrait plutôt dire: il s'estime - à l'aide d'un volt-mètre. Mais nous avons vu qu'il pouvait également être matérialisé par un champ magnétique, un micro-relief voire même un simple trou, comme dans les cartes perforées du temps jadis.
La page que vous êtes en train de lire est une information binaire.
Malgré les apparences, c'est parfaitement exact. Le serveur qui a envoyé cette page à votre navigateur internet a en réalité déversé un flot de bits à travers le réseau vers votre ordinateur. C'est votre navigateur, justement, qui a interprêté ces bits et les a décodés pour reconstituer une information humainement compréhensible...quoique.
1 kB = 1.024 bits.
C'est doublement faux ! D'abord parce que le symbole "kB" signifie "kilo-byte" et non pas kilo-bit (qui est symbolisé par kb, voire kbit), et ensuite parce qu'un kilo-byte est égal à 1.000 bytes et non pas 1.024.
Un codage binaire est forcément imparfait.
C'est faux. Un codage binaire est parfaitement fidèle lorsqu'il s'applique à une information discrète, c'est-à-dire à une information qui ne peut prendre qu'une valeur parmi un nombre précis et déterminé de valeurs. Un codage binaire codera parfaitement une lettre alphabétique, si grand soit l'alphabet, ou un nombre entier... à condition qu'il ne soit pas démesurément grand.. En revanche, un codage binaire se révèlera obligatoirement imparfait lorsqu'il devra s'appliquer à une information analogique, comme un son, une image voire, même, un nombre irrationnel.
Notons tout de même que de par les progrès technologiques, ces "imperfections" sont de moins en moins détectables par les sens humains.

Le binaire en pratique

Bien ! Nous avons fait connaissance avec le binaire, avons pu mesurer toute sa truculence et sa convivialité. Il est temps désormais de nous pencher sur des problèmes un chouia plus pratiques quoique fondamentaux, comme par exemple: "Comment manipuler le binaire sans devenir complètement dingue ?" ou encore: "Quelle est la bonne manière de tronçonner une séquence binaire afin de bien la ranger dans un disque dur ?"

L'hexadécimal: "humaniser" le binaire

Arrivé(e) à ce stade de votre lecture, nous tenions absolument à vous féliciter. Vous avez, en effet, su braver l'austère tableau introductif planté au début de cette page tel un barbelé sur une plage normande, avez vaillamment franchi l'obstacle hérissé de bits et continué, coûte que coûte, l'exploration du binaire sans vous plaindre. Respect et révérence.
Car le fait est indéniable: le binaire, c'est pénible. Terriblement pénible...d'où l'expression: la croix et le binaire..

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.

"Humaniser" le binaire est donc une nécessité, tout aussi fonctionnelle que purement esthétique.
Reste à trouver un moyen tout à la fois simple, efficace et rapide.

Travaux pratiques

Tentons de rendre un tant soit peu conviviale la séquence binaire: 11011001 11111110 01111100 00110011 01101110 00100110 01000000 01111110 01111110 11100011 00100110 11000001 11010011 11010011 00101111 10110010.
  • Solution n°1: remplacer chaque octet par son équivalent en base 10Mode d'emploi au bout de ce lien....
    Résultat: 217 254 124 51 110 38 64 126 126 227 38 193 211 211 47 178.
    Mmmouais... Pas vraiment simple, pas vraiment rapide, pas vraiment efficace...
  • Solution n°2: remplacer chaque octet par un symbole unique selon sa valeur.
    Objection ! L'informaticien, même un peu dingue par nature, ne se voit pas du tout apprendre par coeur un alphabet de 256 caractères.
  • Solution n°3: coder chaque couple de bits par un symbole différent selon sa valeur. Par exemple: 0=00, 1=01, 2=10, 3=11.
    Résultat: 3101 3332 1330 0303 1232 0212 1000 1332 1332 3203 0212 3001 3103 3103 0233 2302.
    Facile, oui. Rapide, passe encore. Efficace ?

Une solution simple existe pourtant: c'est l'hexadécimal (hexadecimal). 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 ?
 

Quartet de bits Symbole hexadécimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
Les seize symboles de l'hexadécimal.
L'informaticien n'allait pas laisser passer l'occasion de faire étalage de son insondable imagination...

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).

Bon, il est vrai que le chemin est encore long pour rendre une séquence binaire sexy et désirable mais, l'air de rien, l'hexadécimal a sauvé de la démence un nombre incalculable d'informaticiens.

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...comme en C ou en Java., $...comme en Pascal., &h...comme en Basic., #16...comme en LISP.) - ou en le faisant suivre du caractère h...comme en Assembleur..

Pourquoi vouloir à tout prix rendre plus intelligibles les données binaires, alors que l'utilisateur n'a jamais à les manipuler directement ?

Il est vrai que manipuler directement des données binaires est un acte insensé que l'utilisateur lambda n'aura jamais à accomplir. Il y a cependant quelques situations où il s'avère plus rapide, voire, et oui ! plus pratique de s'en remettre au format binaire, sans être pour autant un gourou de la programmation.

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 que vous lisez est-elle #0000A0, soit un triplet Rouge:0, Vert:0, Bleu:160.

Pourquoi recourir aux symboles A, B, C, D, E et F plutôt que d'utiliser les nombres décimaux de 10 à 15 ?
Tout simplement pour conserver l'intérêt "visuel" de l'hexadécimal, à savoir qu'un symbole hexadécimal code quatre symboles binaires.
Vrai ou faut: un digit hexadécimal permet de coder 16 bits ?
Bien sûr !
Bien sûr que non ! Un digit hexadécimal peut prendre seize valeurs différentes (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) - soit l'équivalent de ce que peut coder un quartet de bits (24).
Absolument pas !
Parfaitement. Ne confondons pas le nombre de valeurs pouvant être prises par un chiffre hexadécimal et le nombre de bits permettant de coder autant de configurations différentes.
Comment coder en base 16 le nombre binaire 100110 ?
92
Pour trouver ce nombre, vous avez sûrement voulu nous obéir docilement et grouper les bits par groupe de quatre. D'abord "1001" puis "10". Et puisque il manque deux bits à ce dernier, vous avez ajouté deux bits 0 pour obtenir "0010", avant de transcrire ces deux groupes en leur équivalent hexadécimal.
Tous ces efforts partaient d'un bon sentiment, mais c'est oublier que le découpage doit se faire de la droite vers la gauche du nombre à convertir.
98
Pour trouver ce nombre, vous avez sûrement voulu nous obéir docilement et grouper les bits par groupe de quatre. D'abord "1001" puis "10". Et puisque il manque deux bits à ce dernier, vous avez ajouté deux bits 0 pour obtenir "1000", avant de transcrire ces deux groupes en leur équivalent hexadécimal.
Tous ces efforts partaient d'un bon sentiment, mais c'est oublier que le découpage doit se faire de la droite vers la gauche du nombre à convertir.
26
Parfait. 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.
Et la base 8 ?

La notation octale est également parfois utilisée ça et là en informatique. Ici, ce ne sont pas quatre mais trois bits qui sont décrits par un seul symbole compris entre 0 et 7. Un nombre octal peut être indicé par le chiffre 8 afin de préciser sa nature, mais il est également possible de rencontrer les nombres octaux précédés d'un zéro: 4218 = 0421.

Parce que, malgré son nom, l'octal se concilie mal avec l'octet, il est de fait très peu utilisé en informatique, hormis pour certaines situations très spécifiques, comme par l'exemple l'expression des permissions d'accès sur Unix.

Endianisme: une guerre de trancheurs

Avertissement préalable !
Si vous êtes venu sur cette page presque par hasardUne faute de frappe dans une requête Google peut-être... (ici, on parle de bit)., si votre but en informatique est de vous faciliter l'existence ou si, pour vous, la question binaire ne mérite même pas d'être posée alors qu'on tue encore des baleine de par le monde... alors, croyez moi, mieux vaut peut-être stopper là votre lecture tant le sujet qui va suivre risque de vous paraître un tantinet... surréaliste...

A l'origine de l'insoluble problème, cette simple constatation: alors que la mémoire des ordinateurs est généralement organisée en octets, de nombreuses données réclament plus d'un octet pour leur codage binaire, d'où la nécessité de tronçonner l'information binaire avant de l'utiliser.

Oui, bon... C'est sûr qu'exposé de la sorte, notre sommeil s'en sort a priori indemne... Mais il n'en fallait pas plus pour dresser les éleveurs de puces les uns contre les autres.
La guerre de l'endianisme était déclarée !

Pour mieux appréhender la dimension tragique de la chose, considérons une donnée binaire quelconque, notée en base 16 #ABCD. Cette donnée peut être décomposée en deux octets (#AB et #CD) de manière à peu près consensuelle. Mais tout dérape quand il s'agit par la suite de stocker ces deux octets: faut-il d'abord stocker #AB puis ensuite #CD ou d'abord stocker #CD puis ensuite #AB ?

A droite, Sun et Motorola défendent la première approche bec et ongle: la logique ordonne que les données soient stockées en commençant par l'octet le plus "significatif"; ce sont les "gros-boutistes" (big-endian).
A ma gauche, Intel, à la tête de la fraction rivale des "petits-boutistes" (little-endian), n'en démord pas et reste persuadé du contraire.
On vous avait prévenus: l'heure est grave.

Parce que les informaticiens ont eux aussi été des enfants

Mais pourquoi diable des noms si ridicules pour désigner ces deux factions si farouchement rivales ?

Parce que l'informaticien, souvent anglophones, connait parfaitement ses classiques.

En 1726, un pasteur irlandais appelé Jonathan Swift [1667-1745] publie anonymementraté ! un roman de science-fiction (pour l'époque) intitulé "Gulliver's Travels" qui conte les aventures d'un certain Gulliver aux pays merveilleux des HouyhnhnmsÇa se prononce comme ça s'écrit..., des Brogdingnags et autres Lilliputiens.

Lilliput, justement, et Blefuscu sont deux petites nations voisines mais en guerre perpétuelle à cause d'un terrible différend qui les oppose sur la bonne manière de manger les oeufs à la coque: par le petit bout (little end) clament les premiers, par le gros bout (big end) assurent les seconds. La métaphore est puissante, l'ellipse osée, la morale sous-jacente... Lilliputiens, Blefuscudiens... Anglais et Français ? Catholiques et Protestants ?

Toujours se méfier des oeuvres a priori trop niaises...

To Be or Be To

Oui, c'est sûr que le problème peut sembler quelque peu dérisoireOn se moque, on se moque... Mais après tout, Français et Américains ne sont pas loin d'avoir le même problème lorsqu'il s'agit d'écrire une date..., mais à l'heure d'Internet et de la télédéclaration fiscale, mieux vaut s'assurer que deux ordinateurs connectés ensemble s'entendent sur la manière de comprendre les octets qu'ils échangentImaginez le serveur du service compta, de type big-endian, transmettre le montant de votre salaire à l'ordinateur de votre banque, de type little-endian..

Bien sûr, comme toujours, l'utilisateur insouciant n'aura jamais à s'inquiéter de ce genre de turpitudes binaires, mais ceux et celles pour qui l'informatique est plus qu'un simple loisir devraient garder à l'esprit cette drôle de guerre des trancheurs.

Enfin bref...

Enfin ! Toute cette très (trop) longue page pour vous faire prendre conscience que, si cher l'ayiez-vous payé, votre ordinateur ne comprend que le langage binaire.
Bref, des "1" et des "0". Et rien de plus.

Mais aprés tout, le divin Créateur n'a-t-il pas fait des merveilles avec une seule côte d'homme ?
M. Intel devrait pouvoir faire un ou deux trucs sympas avec deux petits bits de puce...

Pour les plus insensés curieux... Codage binaire des nombres. Codage binaire du texte.
Feed-back: exprimez-vous !

 
Arcana, vous l'aurez deviné, est un site artisanal. De fait, vos messages chaleureux et enthousiastes constituent la quasi seule motivation de son auteur à tenter de le faire vivre.
Néanmoins, toutes les vérités sont bonnes à dire et ce formulaire est donc également destiné à recevoir vos doléances et vos remarques, ainsi que vos questions, vos rapports de bugs, et, par dessus tout, vos précieux conseils et correctifs.

Merci.

Notes techniques

Ce site a été testé sous environnement Windows avec les deux navigateurs les plus populaires du moment, à savoir Internet Explorer 7 et Firefox 2.
Tout avait l'air de fonctionner à peu près, surtout avec le second.

Il est vrai qu'aucun effort supplémentaire de compatibilité avec d'autres navigateurs n'a été entrepris, le nirvana du cross-browsing réclamant tout à la fois une patience d'ange, une méticulosité d'horloger et, paramètre non négligeable, un certain bol de cocu, toutes qualités dont ne dispose pas l'auteur de ce site.

Afin que Arcana puisse à peu près correctement fonctionner sur votre machine, votre navigateur doit autoriser l'exécution des scripts JavaScript et également disposer du plugin Adobe FlashPlayer.

En effet, la plupart des somptueuses animations disséminées sur ce site ont été réalisées avec le logiciel Adobe Flash©. Télécharger FlashPlayer Si votre ordinateur ne dispose pas du petit programme permettant de lire ce format, vous ne pourrez visualiser ces animations.
Heureusement, il vous suffit pour remédier à cette terrible injustice de cliquer sur ce logo ci-contre afin de télécharger le "plugin" qui vous permettra de découvrir enfin ces petits chefs-d'oeuvre d'art naïf (ainsi que, par la suite, toute page Internet recourant à cette technologie).
La procédure est indolore, rapide et gratuite, alors pourquoi s'en priver, je vous le demande ?

Arcana recherche...

Quoique l'auteur de ce site dispose d'une petite expérience et d'un nanodiplôme en sciences informatiques, il n'est malheureusement titulaire d'aucun permis d'enseigner validé par l'Académie. Dès lors, et bien que tout ait été mis en oeuvre afin de ne pas propager de trop grossières erreurs sur ces pages, il manque à Arcana ce qui lui donnerait tout à la fois poids et respectabilité, à savoir une autorité scientifique, auréolée d'un cursus en règle et du crédit de l'Université.
Si une ou plusieurs sommités venant à croiser ce site acceptaient d'endosser cette écrasante responsabilité de caution intellectuelle pour une ou plusieurs leçons, elles seraient grandement remerciées et leur nom bien évidemment gravé en lettres d'or en tête de page, leur assurant par là même gloire et renommée quasi planétaires.

Le logo du site: un sens du dépouillement qui confine au déprimant...Par ailleurs, les spécialistes l'auront remarqué, Arcana se pare d'un graphisme rococo et luxuriant directement inspiré par l'école est-allemande des années 70.
De fait, quiconque n'a jamais eu à concevoir ex nihilo un simple bouton d'interface ne peut comprendre à quel point l'infographie est un métier à part entière. L'auteur de ce site ayant, suite à un très long face-à-face avec Photoshop, découvert son absence totale de don dans ce domaine très artistique, toute aide serait la bienvenue pour offrir à Arcana une charte graphique digne de ce nom.

De la même manière, quelques laborieux petits dessins pseudo-humoristiques viennent ça et là agrémenter le contenu parfois franchement hostile de certaines leçons. Si, vous aussi, vous tenez à participer à cette courageuse entreprise de dépénibilisation de l'écrit pédagogique, vos bulles originales seront les bienvenues et, légitimement signées, contribueront au fantastique rayonnement humaniste et artistique d'Arcana.

D'avance, merci.

Plan de la leçon