Mathias Wandel a construit une calculatrice en bois, basée sur la notation binaire !



Ceux qui ont vu le film Matrix se rapellent des suites constituées des chiffres 0 et 1 qui défilent sur l'écran presque interminablement, comme par exemple 10011100100001101010111111. Beaucoup appellent cela un "nombre binaire", mais cette appellation est mal choisie, mieux est de l'appeler "écriture binaire d'un nombre naturel". Pour mieux comprendre cette écriture bizarre faisons un petit détour.

Les nombres naturels

Les nombres naturels sont le premiers que nous avons appris à l'école : zéro, un, deux, trois, quatre,... Il y en a une infinité, car à chaque nombre on peut ajouter 1 :

zéro = 0 , un = 1 , deux = 1+1 , trois = 1+1+1, quatre = 1+1+1+1 , etc.

Cette écriture en forme de somme est essentiellement la même que l'écriture primitive par bâtons qu'on trouve sur les murs des prisons : par exemple |||| pour quatre ou |||| ||| pour huit. Elle prendrait trop de place pour des grands nombres. Pour éviter cela on utilise une ruse, que j'illustre d'abord par quelque chose que tout le monde connaît et utilise :

Le système décimal

Il fonctionne comme suit.
  • Nous convenons que les dix premiers nombres (zéro, un, deux, trois, ..., huit, neuf) soient représentés par les dix symboles 0, 1, 2, 3, ..., 8, 9.
  • Nous convenons que le onzième nombre, à savoir le 9+1 ou encore le dix, est représenté par la juxtaposition de 1 et de 0 : donc 10.
  • Puis on donne une règle pour les autres juxtapositions en utilisant les puissances de 10. Voici deux exemples:

     236 = 2 * 10^2 + 3*10 + 6 et  190237 = 1*10^5+9*10^4+0*10^3+2 * 10^2 + 3*10 + 6 .

Il n'est pas difficile de montrer que tout nombre naturel peut s'écrire dans ce système en n'utilisant que dix chiffres. Le fait qu'on ait pris dix chiffres est un pur hasard, certainement lié au fait que nous comptons dix doigts. Cela marcherait de la même manière si nous nous étions contentés par exemple de sept chiffres ; dans ce cas là, la juxtaposition  10 signifierait le nombre sept et  236 signifierait  2 * 10^2 + 3*10 + 6 (c'est-à-dire  2 * 49 + 3*7 + 6 dans notre système décimal habituel).

Dans toutes les langues que je connais il y a les noms particuliers "onze" et "douze" ; on dit "vingt-deux", mais on ne dit pas "dix-deux", on dit "douze". Cela montre qu'il fût un temps où nous ne comptions pas dans en dizaines mais en douzaines.

Le système binaire

Maintenant au lieu de prendre dix chiffres nous nous contentons du minimum syndical, des deux chiffres 0 et 1. C'est vraiment le minimum car avec un seul chiffre nous ne pourrions pas aller très loin, nous serions restreints à la notation primitive par bâtons |||| .

La juxtaposition  10 signifie alors le nombre deux et  101 signifie  1 * 10^2 + 0*10 + 1, c'est-à-dire  1 * 4 + 0*2 + 1, donc cinq dans notre système décimal habituel.

Ecrivons quelques nombres naturels dans les deux systèmes, binaire suivi de décimal :

0 est 0, 1 est 1, 10 est 2, 11 est 3, 100 est 4, 101 est 5, 110 est 6, 111 est 7, 1000 est 8, etc.

1000000 est 2^6=64, 10000000 est 2^7=128, 10000000000 est 2^10=1024 (un méga)

Ces derniers nombres sont très familiers en informatique. C'est simplement parce que les ordinateurs utilisent le système binaire pour compter. En effet, la manière la plus simple pour communiquer avec une machine c'est de lui donner seulement deux signaux (et pas trois ou plus), comme oui/non, comme on/off, comme gauche/droite (dans les leviers de la machine en bois) ou comme haut/bas, etc.


Exemples de passage d'un système à l'autre

Résumons par deux exemples les règles qui permettent de passer du système binaire au système décimal :
  • Soit n=10110 un naturel écrit dans le système binaire. Alors dans le système décimal c'est le nombre
    n=1*2^4+0*2^3+1*2^2+1*2^1+0*2^0=1*16+0*8+1*4+1*2+0*1=22.

  • Soit m=1101 un naturel écrit dans le système décimal (!). Pour le transformer en écriture binaire nous devons d'abord trouver la plus grande puissance de 2 qui "rentre" dans m. Nous savons que 2^10=1024 et que 2^11=2048. Donc 2^10 est la plus grande puissance de 2 qui "rentre" dans 1101, et ainsi l'écriture binaire de m nécessitera onze chiffres le premier étant 1. Nous avons m=2^10+77. La plus grande puissance de 2 qui "rentre" dans 77 est 2^6=64. On est passé de la dixième puissance directement à la sixième ; les trois puissances "sautées" (neuvième, huitième, septième) sont représentées par des zéros. Donc l'écriture binaire de notre nombre commence par les cinq chiffres m=10001. On poursuit de la même manière : 77=2^6+13 ; la plus grande puissance de 2 qui "rentre" dans 13 est 2^3=8. Puis 13=2^3+5 ; la plus grande puissance de 2 qui "rentre" dans 5 est 2^2=4. Le dernier reste est 1=2^0 . Ainsi nous obtenons m=10001001101 (notation binaire).

  • Pour nous rassurer de notre dernier résultat faisons le test et re-transformons l'écriture binaire en écriture décimale. Le nombre m=10001001101 en binaire devient en décimal m=1*2^10+0*2^9+0*2^8+0*2^7+1*2^6+0*2^5+0*2^4+1*2^3+1*2^2+0*2^1+1*2^0 donc m=1024+64+8+4+1=1101 (notation décimale).

Compris ? Et n'oubliez pas : il y a 10 sortes de gens au monde : ceux qui comprennent la notation binaire et ceux qui ne la comprennent pas ;-)

Partagez-le sur Facebook Tweetez-le ! S'abonner à ce blog ? Envoyer cet article à un ami ? Le soumettre à Netvibes Ajoutez-le à Google Bookmarks