Ecriture en binaire
Puisqu'en numérique, les données sont écrites sous formes de nombres, nous devons apprendre à traduire des nombres suivant le langage du numérique qui s'appelle le binaire.
Pour écrire un nombre en binaire, on réapprend à compter en base 2 au lieu de compter en base 10. La base 10 est celle qu'on utilise naturellement depuis l'enfance.
Par exemple, en base 10, 1977 s'écrit: 1977 = 1x1000 + 9x100 + 7x10 + 7x1. On décompose facilement chaque nombre en unités, dizaines, centaines. c'est-à-dire en puissances * de 10.
|
Puissance de 10 |
104 |
103 |
102 |
101 |
100 |
|
Résultat |
10000 |
1000 |
100 |
10 |
1 |
En base 2 le principe est exactement le même, sauf que lieu de compter jusqu'à 10 (donc de 0 à 9) pour passer d'une puissance à l'autre, on compte jusqu'à 2 (donc de 0 à 1).
Ecrire en binaire, nous l'avons dit, c'est écrire au moyen de caractères nommés bits qui ne peuvent prendre que 2 valeurs: 0 ou 1.
Le DMX est un protocole 8 bits, ce qui signifie que chaque mot de commande contient 8 bits appelé octet (byte en anglais, attention aux confusions). Nous utiliserons donc les huit premières puissances de 2, soit 20 jusque 27.
|
Puissance de 2 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
|
Résultat |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
Pour écrire un nombre en binaire, il nous reste à le décomposer en puissances de 2, en commençant par la puissance la plus élevée (en base 10, on compte les milliers avant les centaines).
Pour écrire 97 en base 2, on décompose ainsi:
97 = 0x128 + 1x64 + 1x32 + 0x16 + 0x8 + 0x4 + 0x2 +1x1, ce qui nous donne bien:
97 = 0 + 64 + 32 + 0 + 0 + 0 + 0 + 1 = 97, pas de problème.
En utilisant le tableau ci-dessous, cela donne:
|
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
|
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
Et voilà, on obtient l'écriture binaire de 97: 01100001. C'est bien un mot de commande contenant 8 caractères 0 ou 1: c'est un octet.
On comprend maintenant certaines choses relatives au DMX. Par exemple, quelle est la valeur maximale que l'on peut obtenir en binaire avec 8 bits?
Très simple à écrire.
|
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
|
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
. et à calculer aussi: 1x128 + 1x64 + 1x32 + 1x16 + 1x8 + 1x4 + 1x2 + 1x1 = 255.
On retrouve bien ici nos 256 valeurs possibles (de 0 à 255) pour un canal DMX, et l'on trouve déjà que le monde est plus beau.
Mais si mes souvenirs sont exacts, j'ai déjà fait quelque chose de semblable sur mes machines avec ces huit tout petits interrupteurs. S'agissait-il de la même chose? Oui et non, il s'agissait bien de coder un nombre en binaire, mais ce nombre n'était pas une information de commande, mais une adresse. Et de cela, nous en parlons tout de suite.