04 Nombres binaires, octaux et hexadécimaux

“Il y a 10 types de personnes. Ceux qui comprennent le code binaire et ceux qui ne le comprennent pas.”

Un autre système de valeurs de lieu, beaucoup plus connu, est le système binaire. Un système de valeurs de place avec la base deux. Il n’existe que deux états, zéro et un, on ou off, point ou tiret, là ou ailleurs, vrai ou faux. Les ordinateurs fonctionnent de cette façon parce que les circuits fonctionnent de cette façon. Parce que l’électricité ne peut prendre que ces deux états. C’est là ou c’est parti.

Cela donne un nombre immense de possibilités, notamment pour le codage des messages, qui sont souvent écrits en binaire (c’est-à-dire sur la base de deux états), mais pas nécessairement dans le système dual (c’est-à-dire avec zéro et un). Très peu de choses peuvent avoir deux états. Les lettres majuscules et minuscules, par exemple. Les tirets et les points (même les choses complètement “non binaires”, comme le morse). Une chose peut être vraie ou fausse, cachée dans un texte par exemple. Ce qui fait du binaire de la dissimulation des coordonnées l’un des types de cryptage les plus courants, mais aussi l’un des plus créatifs du géocaching.

Le système double

dezimal168421
0+0+0+0+0=100001
0+0+0+2+0=200001
0+0+0+2+1=300011
0+0+4+0+0=400100
0+0+4+0+1=500101
0+0+4+2+0=600110
16+0+4+0+1=2110101
16+8+4+2+1=3111111

Le déchiffrage des nombres doubles, c’est-à-dire des codes binaires composés de zéro et de un, est très simple. Les numéros doubles sont écrits l’un après l’autre. Le premier chiffre à l’extrême droite compte 2^0, c’est-à-dire un (dans notre système décimal), pour autant qu’il soit rempli d’un 1 (actuel ici). S’il y a un 0 à cet endroit, il compte aussi zéro, donc rien. Le chiffre suivant, à gauche du premier, a la valeur 2^1, donc deux. S’il est occupé par un 0, il a la valeur zéro, s’il est occupé par un 1, il a – en décimal – la valeur deux. Il continue avec le troisième chiffre (2^2), un, donc quatre, puis vient le huit (2^3), et ainsi de suite.

Ces nombres doubles peuvent être facilement transférés dans notre système décimal habituel (du moins jusqu’à une certaine longueur également dans la tête), mais ils présentent l’inconvénient de devenir extrêmement longs. Une coordonnée représentée sous la forme, par exemple, 52 45 123, simplement écrite ensemble comme un grand nombre, a déjà une longueur impressionnante lorsqu’elle est exprimée en zéros et en uns :

10100000000100011000011

C’est pour cette raison que la représentation hexadécimale a été utilisée dans le domaine du traitement des données. Hexa = du grec pour 6, décimal du latin pour 10, c’est-à-dire un système mixte de valeurs de position sur la base de 16, dans lequel les lettres A à F sont également utilisées en plus des chiffres de 0 à 9. Ici, on compte normalement avec les chiffres décimaux jusqu’à 9 et ensuite, lorsqu’il y a un saut au niveau de valeur de place suivant (dix) dans le système décimal, on utilise les lettres à la place de ceux-ci. A (hexadécimal) est donc un 10 (décimal), F un 15. Ce n’est qu’à 16 qu’il y a un saut vers la deuxième “dimension”, un deuxième chiffre, seulement celui-ci ne vaut pas dix, comme dans notre système décimal, mais 16.

DualDezimalHexadezimal
111
1022
1133
10044
10155
101010A
101111B
110012C
110113D
111014E
111115F
100001610
100011711
100100422A
11011111116F

Jusqu’ici, c’est clair ? Mais bien sûr, vous n’avez pas besoin de l’apprendre par cœur, il existe divers outils de conversion sur Internet et même la calculatrice de Windows, par ailleurs plutôt mal vue, gère la conversion de l’hexagone, du duel, du décimal et même de l’octal dans la vue de programmation (dans la section Menu de la calculatrice sous View -> Programmer).

La représentation octale que nous venons de mentionner est un autre système de valeur de position, cette fois en base 8. On compte de 0 à 7, puis il y a un saut de valeur de position jusqu’à 10, qui vaut huit en décimal !

oktal01234567101112131415161720
dezimal012345678910111213141516
binär/dual000010010001101000101011001111000100110101001110011011110111110000
hexadezimal0123456789ABCDEF10

Une autre possibilité, issue du traitement des données, sont les décimales codées en binaire – BCD. Cela signifie que les chiffres de 0 à 9 sont chacun codés avec une représentation binaire. Quatre caractères binaires sont les plus courants, mais il peut aussi y en avoir cinq, sept ou dix.

Peut-être que vous pouvez trouver des indices dans la liste comme

Résumé :

  • Trouve-t-on 0+1 ou une sorte de représentation “binaire”, à deux niveaux, dans un puzzle ? Peut-être un code binaire ?
  • Les codes contenant les chiffres de 0 à 9 et les lettres de A à F pourraient être codés en hexadécimal.
  • Les nombres ne contenant que les chiffres de 0 à 7 “sentent” fortement l’octal…