Qu’est-ce que le binaire et pourquoi est-ce le seul langage que connaît votre ordinateur ?

Daniel Vinet
mmmDaniel Vinet

Avant de me lancer dans une nouvelle série d’articles, je me suis donné comme défi de vous expliquer, de la façon la plus simple et digestible possible, le binaire, base de toute l’informatique.

J’ajoute à ceci une courte explication sur les unités de mesure utilisées en informatique. Vous êtes prêt ? Allons-y !

Pourquoi le binaire ?

C’est bien beau le binaire, mais pourquoi devons-nous utiliser le binaire en informatique ? Eh bien, je vais vous dévoiler ici le grand secret derrière tout appareil électronique et informatique, roulement de tambour…. C’est l’électricité ! Y a-t-il du courant électrique ou il n’y en a pas ? 0 ou 1. C’est aussi simple que cela.

Qu’est-ce que le binaire ?

Comme le nom l’indique, le binaire est un système à seulement deux chiffres. Il s’agit d’une base pour compter; 0 et 1, voilà les deux seules valeurs du binaire que nous appelons également bit, soit l’unité de mesure la plus simple en informatique.

Afin de bien comprendre cette base de deux, faisons un parallèle avec la base que nous connaissons et utilisons tous au quotidien, soit la base décimale, c’est-à-dire une base de 10, car nous avons 10 chiffres pour faire tous nos calculs, soit de 0 à 9.

En fait, comment comptons-nous ?

Nous utilisons les chiffres 0 à 9, puis, lorsque nous avons épuisé ces chiffres, nous ajoutons le chiffre « 1 » devant, puis nous reprenons encore les chiffres 0 à 9 :

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Oups, plus de chiffres. Ajoutons 1 devant :

10, 11, 12, 13, 14…. Vous connaissez déjà le principe, je ne vous apprends rien ici.

Maintenant, reportons ce fonctionnement sur une base binaire, donc à deux chiffres; 0 à 1 :

0, 1

Oups, plus de chiffres. Ajoutons 1 devant :

10, 11

Oups, plus de chiffres. Ajoutons 1 devant :

100, 101, 110, 111 …

Donc, compter en binaire donne ceci :

0
1
10
11
100
101
110
111
1000
1001
1010
1011 …

Et voilà, vous savez compter en binaire. Bravo!

Comment fonctionne le binaire ?

C’est bien d’avoir des « 0 » et des « 1 », mais comment cela se traduit en information concrète pour nous, pauvres humains que nous sommes ?

Tout d’abord, pour savoir quoi représenter, il faut avoir une forme d’index commun qui nous permettra d’attribuer une valeur numérique pour chaque caractère dont nous avons besoin; les lettres de A à Z, minuscules et majuscules, les caractères accentués, les chiffres 0 à 9, les signes de ponctuation, etc. De plus, cet index doit être accepté par tous afin que nous parlions tous le même langage et ayons les mêmes références, n’est-ce pas ?

Création d’un index commun des caractères

De ce besoin est née, en 1960, la première version de cet index que nous nommons la table ASCII, de l’anglais American Standard Code for Information Interchange (Code Américain Normalisé pour l’Échange d’Information).

L’informatique moderne étant née aux États-Unis, inutile de préciser que cette table répond aux besoins des nations utilisant l’alphabet latin. Il existe d’autres index dans le monde en fonction des autres alphabets existants, tels que le cyrillique, par exemple.

Pour en revenir à notre table ASCII, sans entrer dans les détails, cet index attribue une valeur numérique à chaque caractère. La table de base et la table étendue totalisent 256 caractères. Le site suivant liste l’ensemble des 256 caractères utilisés. Vous constaterez que celle-ci comporte également des caractères de contrôle qui s’adressent davantage à l’ordinateur qu’à nous.

Prenons, par exemple, la lettre « A » (majuscule). Celle-ci s’est vue attribuer la valeur « 65 » dans la table ASCII, alors que le « a » (minuscule) a la valeur « 93 ». Donc, tous les fabricants d’ordinateurs et de systèmes d’exploitation utilisent cette table ASCII et connaissent cette information ce qui permet une uniformité et une compatibilité de fonctionnement entre les fabricants et entre nous, les utilisateurs.

D’accord, mais comment un caractère se traduit-il en binaire ?

Excellente question. Comment faisons-nous pour reproduire la lettre « A » de valeur 65 en binaire pour que l’ordinateur le comprenne?

C’est ici qu’entrent en jeu un peu de mathématiques, mais rien de bien complexe, je vous rassure.

Il s’agira de transformer la valeur décimale « 65 » en sa valeur binaire équivalente. Pour ce faire, comme il s’agit d’une base de « 2 », nous allons diviser 65 par 2 jusqu’à ce qu’à sa plus simple expression en retenant uniquement l’entier de chaque division, qu’il soit pair, donc = 0, ou impair, donc = 1.

Essayons :
65 / 2 = 32.5 = impaire = 1
32 / 2 = 16 = pair = 0
16 / 2 = 8 = pair = 0
8 / 2 = 4 = pair = 0
4 / 2 = 2 = pair = 0
2 / 2 = 1 = pair = 0
1 / 2 = 0,5 = impaire = 1

Voilà, nous avons donc la valeur binaire de 65, soit 1 0 0 0 0 0 1

Comme nous fonctionnons sur 8 bits, nous ajouterons un « 0 » au début.

Donc, nous obtenons la valeur binaire 0 1 0 0 0 0 0 1

Nous pouvons reprendre le même principe pour la lettre « a » (minuscule) qui, selon la table ASCII, a une valeur de 93.

En binaire, nous obtenons la valeur: 0 1 1 0 0 0 0 1

D’accord, mais pourquoi 8 bits ?

Encore une fois, très bonne question. À cela, je vous répondrai que toute l’informatique étant fondée sur cette base de deux (0 et 1), « 8 » est un multiple de deux.

Suivez-moi bien dans cette autre grande révélation, ici :
2 X 2 = 4
2 X 4 = 8
2 X 8 = 16

Si nous continuons cette suite qui double à chaque itération, nous retrouverons 32, 64, 128, 256, 512, 1024. Est-ce que ces nombres vous sont familiers?

Lorsque vous magasinez un ordinateur, vous remarquerez les indications de 8 ou 16 gigaoctets de mémoire, 128, 256 ou 512 gigaoctets de disque dur. Autre grande révélation ici, second roulement de tambour… Ils sont tous des multiples de « 2 » issus du binaire ! Voilà d’où ses nombres sont tirés.

Petite information, ici. Lorsque vous achetez un ordinateur dont le disque dur offre un espace de 1 téraoctet, ce n’est pas 1000 gigaoctets, mais bien, pour être plus précis, 1024 gigaoctets que vous obtenez. En ce qui concerne les unités de mesure, nous y revenons un peu plus loin.

Si nous revenons à notre question, pourquoi 8 bits, il s’agit simplement de la plus petite valeur utile nous permettant de représenter l’ensemble des caractères et symboles dont nous avions besoin à l’époque. Vous vous souvenez de notre table ASCII à 256 caractères ?

Pensez-y; que pouvons-nous reproduire avec :
2 bits = 0,0; 0,1; 1,0; 1,1 = 4 valeurs possibles. Nettement insuffisant.
4 bits = 0,0,0,0; 0,0,0,1; 0,0,1,0;… = 16 valeurs possibles. C’est déjà mieux, mais toujours insuffisant.

Le suivant sur la liste est 8 bits. Les créateurs de ce système en sont venus à la conclusion que 8 bits, donnant 256 valeurs possibles, étaient suffisant pour bâtir une informatique fonctionnelle et représenter tous les caractères, signes et symboles dont nous avons besoin. Nous avons donné un nom à ce regroupement de 8 bits, soit un octet.

Maintenant que nous savons convertir en binaire, comment convertir un binaire en une valeur décimale ?

Si nous reprenons notre exemple de la lettre « A » de valeur 65 à la table ASCII, nous partirons de sa valeur binaire pour retrouver sa valeur décimale.

Donc, nous avons : 0 1 0 0 0 0 0 1

Pour trouver la valeur décimale, nous allons utiliser les exposants. Je vous vois déjà sourciller. Ne vous en faites pas, je vous ramène un court instant sur les bancs d’école.

Petit rappel de nos mathématiques vues à l’école; qu’est-ce qu’un exposant ? C’est un nombre multiplié par lui-même le nombre de fois indiqué. En termes mathématiques, nous dirons donc que le nombre est à la puissance indiquée.

Exemple :
22 (dit 2 à la puissance 2) = 2 X 2 = 4
23 (dit 2 à la puissance 3) = 2 X 2 X 2 = 8

Chaque bit aura donc une valeur exposante et un poids en fonction de sa position. Le tableau suivant vous résume bien le calcul à effectuer.

  • La première ligne indique le nombre binaire équivalent à 65.
  • La seconde ligne indique la puissance utilisée en fonction de la position du bit, donc son poids dans le calcul. Cela va de l’exposant 7 à l’exposant 0 pour le dernier des 8 bits et comme celui-ci a la valeur « 1 », il est simplement reporté tel quel dans le calcul.
  • La dernière ligne affiche la valeur résultante pour chaque bit. Vous additionnez le tout pour obtenir la valeur « 65 » :
Binaire 0 1 0 0 0 0 0 1 = 65
Puissance 27 26 25 24 23 22 21 20
Valeur 0 + 64 + 0 + 0 + 0 + 0 + 0 + 1 = 65

Voici comment l’homme et la machine arrivent à se comprendre. Sachez que ces conversions sont effectuées de façon continue, en temps réel et réalisées si rapidement que vous n’y voyez que du feu.

Maintenant, abordons les unités de mesure en informatique

Question de vous familiariser avec les unités de mesure que nous utilisons en informatique, j’ai une troisième révélation pour vous. Mesdames, messieurs, nouveau roulement de tambour…. L’informatique utilise le système métrique ! Et vlan !

Eh oui, même nos voisins étasuniens qui sont de farouches défenseurs du système anglais utilisent le système métrique pour l’informatique.

Pour bien comprendre ses mesures, prenons un exemple concret de la vie quotidienne. Lorsque vous allez à l’épicerie et que vous achetez une quantité de viande, celle-ci ne vous est pas vendue au gramme, mais au kilogramme. En effet, ce serait plutôt bizarre de voir sur l’emballage 1500 grammes! Vous verrez plutôt 1,5 kg (kilogramme). Tout le système métrique fonctionne sur une base 1000, ce qui est beaucoup plus simple que le système anglais.

En informatique, nous utilisons les mêmes unités. Toutefois, pour les raisons que je vous ai indiquées plus haut, ce sera une base de « 1024 » plutôt que « 1000 ».

Donc, voici ce que nous obtenons en informatique :

1024 octets = 1 kilooctet
1024 kilooctets = 1 mégaoctet
1024 mégaoctets = 1 gigaoctet
1024 gigaoctets = 1 téraoctet
1024 téraoctets = 1 pétaoctet
1024 pétaoctets = 1 exaoctet

La page suivante vous liste les unités de mesure métriques incluant les derniers ajouts effectués en 2022 concernant l’immensément grand, soit le Ronna et le Quetta qui se traduiront éventuellement en « ronnaoctet » et « quettaoctet ».

Il ne faut pas se le cacher, ses ajouts sont, en bonne partie, créés en prévision des besoins sans cesse grandissants des espaces de stockage informatique. Tout ce que nous stockons dans le nuage incluant les vidéos YouTube, les photos Instagram et les réseaux sociaux qui ne cessent d’accumuler l’information que nous y déposons, tout cela nécessite un espace considérable. Pour vous donner une idée, nous pataugeons actuellement dans les exaoctets et nous acheminons vers l’unité de mesure suivante, le zettaoctet.

Terminons avec une petite histoire du binaire

En retraçant le binaire au fil de l’histoire, nous réalisons que celui-ci a des racines plus anciennes que nous serions portés à le croire.

Le premier à s’intéresser au binaire est le mathématicien et astronome anglais Thomas Harriot (1560-1621). On lui doit également les premières notations d’algèbre.

Une autre figure marquante est le prolifique et multidisciplinaire Allemand Gottfried Wilhelm Leibniz (1646-1716) qui développera les bases de ce système en remplacement du système décimal.

En 1725, l’inventeur français Basile Bouchon utilisera un système binaire pour mettre au point un métier à tisser. Celui-ci permet une semi-automatisation du tissage grâce à un ruban perforé utilisé pour programmer un métier à tisser.

L’invention de Basile Bouchon sera reprise et perfectionnée par l’inventeur français Joseph Marie Jaccard (1752-1834) et son célèbre Métier Jaccard fonctionnant également avec des cartes perforées.

Le métier Jaccard inspirera les travaux du mathématicien et inventeur anglais Charles Babbage (1791-1871) lors de la création de sa machine à calculer. Bien qu’il ne terminât jamais sa machine analytique, Babbage est le premier à énoncer le principe d’un ordinateur, voilà plus de 170 ans !

Nous ne pouvons compléter ce bref historique sans mentionner les travaux du mathématicien et logicien anglais George Boole (1815-1864) qui donnera naissance à la logique moderne nommée algèbre de Boole, connue en informatique pour la logique booléenne, VRAI  et/ou FAUX. Celle-ci est basée sur le binaire où VRAI =1 et FAUX =0.

Voilà, j’espère que votre sourcil ne saute pas trop et que votre cerveau n’est pas en ébullition. J’espère également avoir répondu à ma mission première, soit de vous avoir expliqué le langage des ordinateurs d’une façon « digestible » ainsi que les unités de mesure.

Je souhaite également avoir levé un autre coin du voile sur cet univers fascinant qu’est l’informatique.

Dites-moi ce que vous en pensez dans les commentaires.

Daniel Vinet

23 réflexions sur « Qu’est-ce que le binaire et pourquoi est-ce le seul langage que connaît votre ordinateur ? »

  1. Le langage SQL est utilisé pour la gestion de bases de données. Il applique une logique ternaire, c’est-à-dire que lorsqu’une valeur est absente d’une base de données, elle prend en principe la valeur NULL, qui doit être traitée différemment des valeurs présentes dans la base de données. -> https://fr.wikipedia.org/wiki/Logique_ternaire

  2. Je suis de nature très curieuse sur tout.
    Là ! C’est vraiment Génial cette façon de nous exposer ce système qui nous semblait si complexe au départ. Wow…
    Merci beaucoup !

  3. La lecture de votre très intéressant texte m’a ramenée au mois de mars 1990 alors que j’avais suivi un cours d’introduction aux ordinateurs personnels au Collège Lasalle. À ce moment là, j’étais à l’emploi de Bell Canada comme directrice au service d’affaires. En gros, le travail consistait à assister le service des ventes, à programmer les systèmes téléphoniques et à former les clients sur leurs nouveaux équipements. C’était le temps du bon service à la clientèle.

  4. Le binaire, c’est utile pour trouver rapidement la réponse à la question suivante: 2^2023 – 2^2022 – 2^2021 – … – 2 – 1.

    1. On peut aussi remarquer que 2^(n+1) – 2^n = 2^n. Ou encore que, en numération binaire, 1000 – 111, par exemple. C’est un peu le même principe que , en numération décimale, 1000 – 900 – 90 – 9. En fait, c’est généralisable à toutes les bases de numération.

  5. Wow! Bravo Daniel! Tout un effort de vulgarisation! En effet, tu as su mettre des mots compréhensibles à des concepts abstraits. Dans ce monde d’apparence austère, il y a toujours moyen d’utiliser des métaphores pour rendre le tout plus doux. Et tu l’a très bien fait. Un exemple à suivre.

    1. Bonjour Pierre. Merci beaucoup pour ton commentaire, surtout venant d’un pédagogue comme toi, j’apprécie d’autant plus.

  6. Daniel
    Vivement intéressant.
    Vous m’avez éveillé et sensibilisé à des données que j’ignorais.
    Je vous remercie pour votre diligence.
    Michel H.

  7. Très, très intéressant Daniel. Beau travail de vulgarisation tout en humour.
    J’ai la table ASCII de téléchargé sur mon disque dur. J’y ai parfois recours pour certains symboles ou lettres accentuées.

    1. Bonjour Céline. Je vois que tu t’y connais en informatique, super! Effectivement, il est pratique de l’avoir à porté de main pour certains symboles parfois durs à trouver.
      Merci de ton commentaire.

  8. Lu à 04h00 du matin, au sortir du sommeil, le texte m’a arraché un Wouaaaaw! Spontané. Merci Daniel pour un partage bref, concis et éducatif!

    1. Merci Martine de ton commentaire, j’apprécie beaucoup. Toute une entrée en matière à 4h du matin! 😉

  9. Bravo Daniel, je commence à comprendre à 80 ans ! Superbe explication magistrale ! ?

    Mais j’ai déjà entendu dire que d’étranges visiteurs venus du ciel comptaient d’une façon bizarre avec des chiffres et des lettres. Leur outil utilisait un code pour chacun des 2 groupes de 4 bits d’un octet. Drôle de génies ! Aussi, ils pourraient nous avoir laissé dans tous nos états en imprimant dans nos cerveaux la notions d’intrication quantique par groupe de bits.

    Je me demande si c’est peut être HEXA ? ?

    1. Bonjour Robert. Ah! Très drôle ton commentaire. Effectivement, il y a eu une période 4 bits, mais je crois que j’aurais alourdi pour rien.
      En ce qui a trait au quantique, il faudra changer la formule des article, car on ne peut produire de nouvelle solutions avec d’anciennes façons de faire…. un peu du style de ce que disait Einstein 😉
      Merci pour ton commentaire Robert, j’apprécie toujours autant te lire.

  10. J’ai beaucoup apprécié; intérêt soutenu jusqu’à la fin de l’article. Merci pour ces informations expliquées de façon vraiment «digestible».

Les commentaires sont fermés.