Compter sur les mains en binaire


Quels sont les chiffres que vous utilisez au quotidien ?
On me répond souvent "1, 2, 3, 4, 5, 6, 7, 8, 9". On s'arrête là car 10 n'est pas un chiffre, c'est un nombre qui s'écrit avec deux chiffres : 1 puis 0. Mais sans oublier le 0, on compte 10 chiffres. C'est normal, notre système usuel est le système décimal, c'est-à-dire un système en base 10.


Pourquoi a-t-on un système en base 10 ?
Pourquoi pas en base 12, qui est plus facile à partager en 3 et en 4, ou en base 7 comme les jours de la semaine ? Sûrement parce qu'on a dix doigts.


Alors compter en base 10 c'est compter sur les doigts ?
Non. En fait lorsqu'on compte sur les doigts, on utilise le système unaire, c'est à dire en base 1. C'est comme si on n'avait qu'un seul chiffre, un seul symbole pour écrire des nombres. C'est exactement comme lorsqu'on compte des points en écrivant des bâtons : un bâton pour une unité, et c'est le même symbole pour chaque unité. Donc si je veux représenter 8, je mets 8 bâtons, si je veux représenter 153, je mets 153 bâtons. Avec les mains, si je veux représenter 8 je lève 8 doigts, et si je veux représenter 153... je dois appeler beaucoup d'amis pour lever leurs doigts avec les miens !


Même à l'écrit on voit que le système unaire n'est pas très pratique.
Non seulement il faut le temps de tout compter, avec un risque de se tromper, mais en plus ce n'est pas très compact comme écriture. Il faut 153 symboles pour représenter 153, alors qu'en base 10 vous savez bien qu'il suffit de 3 symboles :
  - le chiffre des unités, 3 ;
  - le chiffre des dizaines, 5 ;
  - le chiffre des centaines, 1.
Le problème c'est qu'avec les mains c'est pas facile de représenter les chiffres de 0 à 9... Les personnes qui maîtrisent la langue des signes savent représenter chaque chiffre avec une main, en utilisant une main pour le chiffre des unités et l'autre pour le chiffre des dizaines, elles peuvent donc représenter les nombres jusqu'à 99 avec leurs deux mains.


En binaire, avec deux mains, on peut aller jusqu'à 1023 !
En binaire, c'est-à-dire en base 2, il n'y a que deux chiffres : 0 et 1. On peut donc représenter chaque chiffre en utilisant seulement un doigt :
  - si le doigt est baissé, il représente 0,
  - si le doigt est levé, il représente 1.
Avec une main, et donc 5 doigts, on peut compter en binaire jusqu'à 31 (= 2x2x2x2x2-1), et avec deux mains, soit 10 doigts, jusqu'à 1023 (= 2x2x2x2x2x2x2x2x2x2-1)


Pour comprendre comment on fait en base 2, regardons ce qu'on fait d'habitude en base 10.
Dans l'écriture en base 10, le poids d'un chiffre dépend de sa position dans le nombre. On sait qu'un 1 comme chiffre des unités vaut 1, tandis qu'un 1 comme chiffre des dizaines vaut 10, un 1 comme chiffre des centaines vaut 100...
On remarque que le poids est multiplié par 10 à chaque fois. C'est assez logique quand on y pense : avec le chiffre des unités on va seulement jusqu'à 9, on ajoute un deuxième chiffre pour pouvoir écrire 10. Si le poids de ce deuxième chiffre était 11 par exemple, on ne saurait pas comment écrire 10, et si le poids était 9 par exemple, alors il y aurait deux façons d'écrire 9.


Dans l'écriture en base 2, alors ?
Le poids d'un chiffre dépend aussi de sa position dans le nombre. mais comme on n'a que 2 chiffres, le poids est multiplié par 2 à chaque nouvelle position. Ainsi le chiffre des unités a un poids 1, le suivant un poids 2, le suivant un poids 4 et ainsi de suite.br> C'est assez logique quand on y pense : si j'essaye de compter, de commence à 0 sur le chiffre des unités, puis 1 sur le chiffre des unités, puis je ne peux plus augmenter sur le chiffre des unités car il n'y a pas d'autres chiffres que 0 et 1. Alors je passe à la position suivante : le 1 en position 2 vaudra donc 2. On dit que le poids du chiffre en deuxième position vaut 2.


Et alors quel est le poids du chiffre en troisième position en binaire ?
Une erreur classique est de répondre 3. C'est tentant c'est vrai, mais en réalité on sait déjà représenter le nombre trois avec les deux premières positions : en mettant un 1 en première position et un 1 en deuxième position, on a 1+2, soit 3. En revanche le 4 ne peut être réprésenté avec deux positions, on est déjà au max avec 3 puisqu'on a rempli les deux positions du plus grand chiffre (1 en binaire). Le poids du chiffre en troisième position est donc 4, qui est bien le double du poids de la deuxième position.


Regardons donc les nombres écrits avec trois chiffres en binaire :
  - 0 s'écrit 000, (pas de surprise, mais vérifions mécaniquement : 0x4 + 0x2 + 0x1 = 0)
  - 1 s'écrit 001, (0x4 + 0x2 + 1x1 = 1)
  - 2 s'écrit 010, (0x4 + 1x2 + 0x1 = 2)
  - 3 s'écrit 011, (0x4 + 1x2 + 1x1 = 3)
  - 4 s'écrit 100, (1x4 + 0x2 + 0x1 = 4)
  - 5 s'écrit 101, (1x4 + 0x2 + 1x1 = 5)
  - 6 s'écrit 110, (1x4 + 1x2 + 0x1 = 6)
  - 7 s'écrit 111, (1x4 + 1x2 + 1x1 = 7)
Là encore on retrouve que le poids du quatrième chiffre, en binaire, doit être 8 , parce qu'avec trois positions seulement le plus grand nombre qu'on peut représenter en base 2 c'est 7. Et 8 c'est bien 1x(2x2x2).


Et avec les mains, ça donne quoi ?
  - 0 se représente sans aucun doigt levé.
  - 1 se représente avec le pouce levé (facile, comme d'hab).
  - 2 se représente avec l'index levé (eh oui, le deuxième chiffre, celui représenté par l'index, a un poids 2, pas besoin de lever le pouce en plus, sinon ça fait 3).
  - 3 se représente avec l'index et le pouce levés.
  - 4 se représente avec le majeur levé (eh oui, le troisième chiffre, celui représenté par le majeur, a un poids 4 à lui seul).
  - 5 se représente avec le majeur et le pouce levés.
  - 6 se représente avec le majeur et l'index levés.
  - 7 se représente avec le majeur, l'index et le pouce levés.


Pour s'y retrouver, on peut enfiler des bagues indiquant sur chaque doigt le poids du chiffre représenté :
  - 1 pour le pouce ;
  - 2 pour l'index ;
  - 4 pour le majeur ;
  - 8 pour l'annulaire ;
  - 16 pour le petit doigt.
Il suffit alors d'additionner les poids des doigts levés pour trouver le nombre qui est représenté !


une photo de bagues en feutrine, numérotées 1,2,4,8,16

Compter en binaire sur les doigts est comme une gymnastique.
Si vous vous entraînez à compter en binaire sur vos doigts de nombreuses fois, vous allez remarquer qu'il y a une certaine mécanique. À force on oublie le poids de chaque doigt, on ne fait plus d'addition de chaque doigt pour trouver le nombre suivant.
Par exemple on remarque assez facilement que le pouce se lève et se baisse une fois sur deux. C'est en fait l'alternance des nombres pairs et impairs qu'on observe.
De plus on remarque que lorsque tous les doigts sont levés jusqu'à un certain doigt, pour représenter le nombre suivant il suffit de tous les baisser et lever le suivant. Par exemple 7 est représenté avec les trois premier doigts levés, 8 avec seulement le quatrième. À l'écrit, on passe de 111 à 1000. Remarquez que c'est aussi ce qui se passe en décimal : lorsqu'on ajoute 1 à 999 (nombre avec trois fois le chiffre maximal), on écrit 1000. Et ça marche aussi pour 99 +1 =100 ou 999 999 + 1 = 1 000 0000.


En fait ces deux observations suffisent.
Si vous appliquez les deux règles suivantes, vous comptez en binaire sur vos doigts.
  (1) Si le pouce est baissé, alors lever le pouce.
  (2) Si le pouce est levé, alors :
       - baisser tous les doigts levés consécutifs au pouce,
       - et lever le doigt suivant.


Essayons de compter en binaire avec ces deux règles :
  0 : tous les doigts sont baissés.
    --> le pouce est baissé, j'applique donc (1) : je lève le pouce
  1 : le pouce est levé
    --> le pouce est levé, j'applique donc (2) :
         - je baisse le pouce (pas plus car pas d'autres doigts levés)
         - et je lève le suivant, c'est-à-dire l'index
  2 : l'index est levé
    --> le pouce est baissé, j'applique donc (1) : je lève le pouce
  3 : l'index et le pouce sont levés
    --> le pouce est levé, j'applique donc (2) :
         - je baisse le pouce et l'index,
         - et je lève le suivant, c'est-à-dire le majeur
  4 : le majeur est levé
    --> le pouce est baissé, j'applique donc (1) : je lève le pouce
  5 : le majeur et le pouce sont levés
    --> le pouce est levé, j'applique donc (2) :
         - je baisse le pouce (pas plus car le majeur levé n'est pas consécutif au pouce)
         - et je lève le suivant, c'est-à-dire l'index
  6 : le majeur et l'index sont levés
    --> le pouce est baissé, j'applique donc (1) : je lève le pouce
  7 : le majeur, l'index et le pouce sont levés
    --> le pouce est levé, j'applique donc (2) :
         - je baisse les trois doigts levés consécutifs,
         - et je lève le suivant, c'est-à-dire l'annulaire
  8 : l'annulaire est levé
    --> le pouce est baissé, j'applique donc (1) : je lève le pouce
  9 : l'annulaire et le pouce sont levés
    --> le pouce est levé, j'applique donc (2) :
         - je baisse le pouce (pas plus car l'annulaire levé n'est pas consécutif au pouce)
         - et je lève le suivant, c'est-à-dire l'index
  10 : l'annulaire et l'index sont levés
    --> le pouce est baissé, j'applique donc (1) : je lève le pouce
  11 : l'annulaire, l'index et le pouce sont levés
    --> le pouce est levé, j'applique donc (2) :
         - je baisse le pouce et l'index (pas plus car l'annulaire levé n'est pas consécutif à l'index),
         - et je lève le suivant
  12 : l'annulaire et le majeur sont levés
    --> le pouce est baissé, j'applique donc (1) : je lève le pouce
  13 : l'annulaire, le majeur et le pouce sont levés
    --> le pouce est levé, j'applique donc (2) :
         - je baisse le pouce (pas plus car ni l'annulaire ni le majeur n'est consécutif au pouce)
         - et je lève le suivant, c'est-à-dire l'index
  14 : l'annulaire, le majeur et l'index sont levés
    --> le pouce est baissé, j'applique donc (1) : je lève le pouce
  15 : l'annulaire, le majeur, l'index et le pouce sont levés
    --> le pouce est levé, j'applique donc (2) :
         - je baisse les 4 doigts levés consécutifs,
         - et je lève le suivant, c'est-à-dire le petit doigt
  16 : le petit doigt est levé