Interrogation Tentatives de bonnes réponses à des questions qui peuvent ne pas l'être

C'est quoi un bit au juste ?

"C'est une excellente question et je vous remercie de me l'avoir posée". Après ce brillant début, l'animateur se prend soudainement d'un profond intérêt pour le bout de ses chaussures et un silence pesant s'installe. Ce n'est plus un ange qui passe mais une escadrille au complet. Le sauvetage vient de la salle. Un participant jette à la cantonade : "c'est un chiffre binaire, bit est un mot valise, réduction de binary digit".

L'animateur peut alors plier ses gaules et clore rapidement la séance en remerciant chaleureusement son auditoire dont une bonne partie a déjà pris la poudre d'escampette pour se ruer vers le buffet. On peut toutefois se demander si l'auditeur curieux en a eu pour son argent.

Non pas que cette réponse soit totalement inexacte mais elle n'explique rien et masque toute la richesse sémantique du mot bit. Nous allons donc nous efforcer de faire comprendre ce qu'est le bit.

Compter autrement

Quand nous comptons nous utilisons, souvent sans le savoir, la numération décimale appelée aussi numération à base 10. Le principe en est simple, 10 unités d'un ordre (dizaines, milliers, etc.) font une unité de l'ordre supérieur : 10 dizaines = 1 centaine.

Ceci nous est tellement familier que nous avons peine à imaginer qu'il puisse en être autrement. Pourtant notre langue garde des traces d'un passé récent où l'on comptait par 20 (numération à base 20 ou vigésimale). Un franc valait 20 sous, il existe à Paris un hôpital des Quinze-Vingts et nous continuons, tout du moins en France, à dire quatre-vingts et non pas octante.

Si l'on remonte beaucoup plus loin dans le temps on découvre que les Sumériens, au IIIe millénaire avant notre ère, comptaient en base 60 (numération sexagésimale). Ce système a traversé les siècles et 5000 ans plus tard nous continuons de l'utiliser pour la mesure du temps (60 sec = 1 min) et des angles (60 sec = 1 °).

On peut donc compter dans n'importe quelle base. Si n est la base, on a toujours : n unités d'un ordre = 1 unité de l'ordre immédiatement supérieur.

La numération binaire

Une base particulièrement intéressante est la base 2 (numération binaire). Selon la règle rappelée ci-dessus 2 unités d'un ordre valent 1 unité de l'ordre supérieur. Autrement dit il n'y a que deux possibilités pour un ordre donné : soit il vaut zéro soit il vaut un. Que se passe-t-il quand on ajoute 1 à 1 ? Le résultat est surprenant mais logique :

1 + 1 = 10

En écriture chiffrée on n'a besoin que de deux symboles et on utilise conventionnellement le 0 et le 1.

Nous passerons sur les modes opératoires de conversion d'un nombre d'un système dans l'autre et nous nous contenterons de montrer dans un tableau quelques exemples de correspondance.

nombre décimal nombre binaire correspondant
0 0
1 1
2 10
3 11
10 1010
15 1111
100 1100100
255 11111111
etc.  

C'est oui ou c'est non ?

Quittons maintenant l'univers abstrait des nombres pour nous intéresser à des choses plus concrètes.

Prenons une porte par exemple, elle peut être ouverte ou fermée. Dans le cas d'une ampoule électrique, elle peut être allumée ou éteinte. Dans un autre domaine, une affirmation comme "il pleut" peut être vraie ou fausse.

Ce qui relie tous ces exemples entre eux c'est qu'à chaque fois il n'y a que deux possibilités : ouverte ou fermée, allumée ou éteinte, vraie ou fausse. On dit alors que l'on a affaire à une donnée binaire appelée aussi donnée booléenne en hommage au mathématicien britannique Boole (1815-1864). D'une manière plus générale on appelle donnée binaire toute donnée ne pouvant prendre que deux états, l'un ou l'autre à l'exclusion de tout autre. C'est oui ou c'est non. L'état de la porte ou celui de l'ampoule ainsi que la véracité de l'affirmation sont des données binaires.

Revenons à nos nombres binaires. Nous avons dit qu'un ordre ne pouvait avoir que deux valeurs, 0 ou 1. C'est donc une donnée binaire au sens où nous venons de le voir.

Un nombre binaire peut donc être pris comme un ensemble de données binaires mais la réciproque est également vraie : un ensemble de données binaires peut être représenté par un nombre binaire.

Et le bit dans tout ça ?

En principe le mot chiffre désigne les symboles graphiques (de 0 à 9) que nous utilisons quotidiennement pour écrire les nombres, l'écriture en toutes lettres étant réservée à des usages spécifiques. Chaque chiffre indique la valeur prise par la classe d'unité (ou ordre) à laquelle il correspond : les unités, les dizaines, les centaines, etc. Ainsi 357 signifie 3 centaines, 5 dizaines et 7 unités,

De là à confondre le contenu et le contenant, il n'y a qu'un pas. Quand nous parlons d'un nombre à 3 chiffres nous n'entendons pas qu'il est composé de 3 chiffres distincts mais qu'il met en jeu 3 classes d'unité, les unités, les dizaines et les centaines. À plus forte raison pour un nombre de 12 chiffres puisque nous n'avons que 10 symboles. Dans la vie courante nous utilisons donc aussi le mot chiffre pour désigner une classe d'unité.

Le mot bit est, nous l'avons dit, un mot valise formé sur binary digit soit en français chiffre binaire. Mais l'anglais fait la même confusion que le français. Digit, comme son équivalent français s'emploie aussi bien dans le sens du symbole lui-même que dans celui de l'ordre dont il représente la valeur. C'est dans ce dernier sens que bit est utilisé et doit être compris.

Et comme nous avons montré que chaque classe d'unité d'un nombre binaire est une donnée binaire, un bit n'est donc rien d'autre qu'une donnée binaire.

Nous l'avions annoncé au départ, traduire bit par chiffre binaire n'est pas inexact. Mais, nous venons de voir pourquoi, il faut donner au mot chiffre un éclairage particulier. Parler de donnée binaire évite tout malentendu et donne tout son sens au mot bit.

Pourtant, par commodité mais au risque d'engendrer la confusion, on représente le plus souvent l'état d'un bit par le chiffre 0 ou par le chiffre 1. Toutefois on ne dira pas que tel bit vaut 0 ou 1 mais qu'il est à 0 ou à 1. Cette nuance est d'importance. Elle dénote que c'est bien d'un état dont on parle et non pas d'une quelconque valeur numérique.

Bit et sens

Maintenant comment savoir ce que veux dire le fait que tel bit soit à 0 ou 1 ? Dans l'absolu c'est impossible. Seul son utilisateur est capable de donner du sens à cette donnée et d'en extraire une information. Prenons par exemple la séquence de bits 1 1 1 0 1 0 1 0.

Pour le processeur il s'agit d'une instruction de saut (JMP) à l'adresse indiquée dans les bits qui suivent. Dans un logiciel de traitement de texte il s'agit de la représentation du caractère ê. Si c'est un nombre exprimé en binaire la même séquence représente la valeur 234. Un bit, comme toute donnée, n'a pas de signification propre.

Et l'octet dans tout ça ?

Nos ordinateurs travaillent sur des bits. Toutefois le bit est une donnée un peu fruste : oui ou non et c'est tout. Dans le monde réel les données se résument rarement à une alternative d'où la nécessité de grouper plusieurs bits pour représenter des données plus complexes. Avec 2 bits par exemple on va pouvoir représenter 4 états différents (00, 01, 10, 11). Avec 4 bits on passe à 16 et à 256 avec 8. La règle est simple, avec n bits on a 2n possibilités.

On utilise divers facteurs de regroupement. Ils peuvent dépendre de l'architecture de la machine (mot, double mot, etc.) mais il en est un qui a atteint un certain universalisme, le regroupement par 8. Un groupe de 8 bits est appelé un octet (octo = 8 comme dans octave, octogénaire, octogone, etc.). Il faut noter qu'ici l'octet français a un avantage sur son équivalent anglais byte puisque ce dernier ne fait aucunement référence au nombre 8. Au début de l'informatique la taille du byte n'était d'ailleurs pas encore bien établie et elle devait parfois être précisée (on pouvait lire par exemple des expressions comme a eight-bits byte).

Exit donc les bits et place aux octets qui vont pouvoir prendre chacun 256 états distincts. Oui mais... Aligner de longues séries de 1 et de 0 pour représenter des suites d'octets est fastidieux et le résultat difficilement lisible pour un être humain. On a donc imaginé une représentation plus condensée que l'on peut embrasser d'un rapide coup d'œil.

La notation hexadécimale

Un groupe de 4 bits, on l'a dit, peut représenter une donnée ayant 16 états possibles. En numération hexadécimale (à base 16) on utilise les 10 chiffres de la numération décimale (de 0 à 9) auxquels on ajoute conventionnellement les 6 premiers caractères de notre alphabet (de A à F). Il suffit donc de deux chiffres de la numération hexadécimale (les lettres A à F étant alors considérées comme des chiffres) pour représenter un octet : un chiffre pour les 4 premiers bits, un autre pour les 4 derniers.

Pour ceux qui ne se sentent pas le courage de faire la traduction binaire/hexadécimal, voici le tableau de correspondance.

Binaire Hexa
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

Reprenons notre exemple précédent : 1 1 1 0 1 0 1 0. Les 4 premiers bits peuvent donc être traduits par E et les 4 derniers par A. On obtient donc pour cet octet : EA. C'est quand même plus simple, non ?

Sauf pour des besoins didactiques le contenu d'un octet est toujours représenté par un groupe de deux chiffres hexadécimaux. Encore une fois, il ne s'agit que d'une simple commodité d'écriture. Qu'il les prenne individuellement ou par groupes, l'ordinateur ne traite qu'un seul type de données, les bits.

La représentation matérielle des bits

Au travers de l'histoire de l'informatique il a été imaginé de nombreux moyens de matérialiser les bits et si l'on a abandonné les cartes perforées, les tores magnétiques et autres relais, on utilise encore de nos jours plusieurs procédés. Tous ont en commun leur capacité à ne posséder que deux états stables facilement discernables. C'est oui ou c'est non sans ambiguïté.

Dans le processeur ce sont deux tensions électriques, 0 et 5 V par exemple, qui vont signaler l'état d'un bit. Sur un disque magnétique on se sert de l'orientation des pôles d'une microscopique particule aimantée. Sur un disque optique on joue sur la manière dont est réfléchi un rayon laser suivant qu'il rencontre ou non une micro-cavité gravée sur la surface du disque.

Le choix de la technique utilisée dépend de la quantité de bits à prendre en compte et de la vitesse à laquelle on désire constater leur état (opérations de lecture) ou leur donner cet état (opérations d'écriture).

Dans tous les cas on utilise la notation symbolique 0 ou 1 pour représenter les deux états possibles.

En savoir plus sur les chiffres

Pour ceux dont la curiosité aura été éveillée et qui voudraient en savoir plus sur les chiffres et sur les systèmes de numération, il existe un ouvrage de référence : Histoire universelle des chiffres de Georges Ifrah dans la collection Bouquins chez Robert Laffont (1994).

 

Toutes les pages du site Les autres sites

Accueil
À quoi sert la pile du BIOS ?
À quoi sert le masque de sous-réseau ?
C'est quoi un bit au juste ?
C'est quoi la différence entre un hub et un switch ?
C'est quoi l'invite de commande ?
Comment augmenter la portée de son réseau Wifi ?
Comment connecter une imprimante réseau ethernet ou Wifi ?
Comment faire un réseau local avec mes deux PC branchés sur ma box ?
Comment fonctionne un routeur NAT ?
Comment mesurer sa bande passante ?
Comment séparer son système d'exploitation et ses données  ?
DHCP ou pas DHCP ?
Disques, partitions, lecteurs, comment s'y retrouver ?
Éditeur de texte et traitement de texte, est-ce pareil ?
Est-ce qu'un modem et un routeur c'est la même chose ?
Faut-il mettre les accents sur les majuscules ?
Peut-on mettre un routeur derrière une supermagicbox ou un modem routeur ?
Pourquoi un kilo à 1024 ?
Quelle est la différence entre une trame et un paquet ?
Quelle est la différence entre un navigateur et un moteur de recherche ?
Quelle taille donner à la mémoire virtuelle ?
Un VPN à quoi ça sert  ?
Vous avez dit messagerie ?

Les bricolages de Heffgé

 

Le DOS sied