Le Système Binaire
- Présentation
Le binaire est le mode de comptage non plus en base 10 mais en base 2. Il est utilisé par les ordinateurs, car les machines ne peuvent comparer que deux valeurs : des 1 et des 0.
Je vous avais parlé des rangs (unités, dizaines, centaines…), et bien sachez qu'en binaire on emploie le mot « bit » (contraction de « binary-digit », signifiant simplement « rang binaire »).
Par exemple, le nombre en base 2 « 10011 » s'étale sur 5 bit.
Là où cela se complique, c'est qu'en binaire chaque rang ne peut prendre que deux valeurs (il pouvait en prendre dix en décimal). Donc, dès que le rang atteint sa deuxième – la plus haute – valeur on change de rang. En binaire, un rang commence à 0 et se termine à 1.
Vous pouvez en comprendre que chaque bit représente une puissance de 2, tout comme chaque rang en base 10 est une puissance de 10.
Bon, pour commencer et tenter d'y voir un peu plus clair, on va compter en binaire jusqu'à dix :
valeur en décimal : équivalent en binaire : explications :
0 0 logique !
1 1 simple !
2 10 Le premier rang a atteint le maximum autorisé ! Qu'à cela ne tienne, on passe au rang suivant. On met le second à 1 et on remet le premier à 0.
3 11 On re-remplit le rang 1.
4 100 Le rang 1 est plein, mais le 2 aussi ! On passe donc au troisième et on remet les précédents à 0 (comme on le fait lorsque l'on passe de 0999 à 1000, par exemple).
5 101 On procède de même.
6 110
7 111
8 1000 On entame le quatrième rang.
9 1001 On recommence au premier…
10 1010 On rempli les rangs.
Il suffit d'appliquer une règle : entamer le rang suivant quand celui en cours est plein!
Bon, pour compter jusqu'à 10 ou même 20, cela va encore de remplir ce tableau, mais si je vous demande de convertir 450 en binaire ? Vous n'allez pas monter un par un, si ?
Dans ce qui suit, on va voir une technique générale.
- Conversion du décimal en binaire
Pour le moment, on n'a compté jusqu'à dix. Mais on ne sait pas encore convertir. Sans plus attendre donc, voici la conversion !
- Méthode 1 : les puissances de 2
Pour y arriver, on doit décomposer notre nombre en puissances de 2. C'est le même principe que la décomposition en puissances de dix, sauf que l'on ne décompose pas en milliers, centaines et dizaines, mais en puissances de deux ; qui sont : 1, 2, 4, 8, 16, 32, 64 …, 512, 1024, etc (une valeur est égale à la précédente multipliée par 2).
Ainsi, si l'on prend l'exemple du nombre 26, on obtient la décomposition suivante : 26 = 16 + 8 + 2. Il suffit ensuite de remplacer ces nombres par les puissances :
26= 16 + 8 + 2
26= 1×16 + 1×8 + 1×2
26= 1×24 + 1×23 + 1×21 (on écrit les coef sous forme de puissances de 2)
26= 1×24 + 1×23 + 0×22 + 1×21 + 0×20 (on ajoute les puissances de 2 qui manquent)
26= 1×24 + 1×23 + 0×22 + 1×21 + 0×20 (voyez les puissances de 2 qui sont toutes là)
26= 1×24 + 1×23 + 0×22 + 1×21 + 0×20 (en orange : notre nombre en binaire !)
Il est important de ne pas oublier les puissances dont les coefficients sont zéro.
Finalement, pour obtenir le nombre 26 en binaire, il suffit de mettre les coefficients qui sont devant les puissances de 2 à la suite. On obtient : 11010.
On écrit : (26)dec = (1 1010)bin
Je récapitule la méthode :
On a notre nombre en décimal.
On le décompose en valeurs de puissances de 2
Si certaines puissances manquent, on les rajoutent en mettant 0 devant.
On lit les coefficients devant les puissances de 2, ce sera notre nombre en binaire !
Par commodité, d'écriture, on regroupe les chiffres par 4.
(par ex : 101010101 se notera 1 0101 0101). On verra pourquoi plus loin.
Méthode 2 : les divisions euclidiennes par 2
Tout aussi simple à comprendre. Cette méthode est mieux pour des grands nombres et est plus facile à utiliser en programmation (il est facile d'en faire un algorithme). Voilà comment on fait :
On a notre nombre en décimal.
On le divise par 2 et on note le reste de la division (c'est soit un 1 soit un 0).
On refait la même chose avec le quotient précédent, et on met de nouveau le reste de coté.
On re-itère la division, et ce jusqu'à ce que le quotient est 0.
Le nombre en binaire apparaît : le premier à placer est le dernier reste non nul. Ensuite, on remonte en plaçant les restes que l'on avait. On les place à droite du premier 1.
Comme rien ne vaut un exemple :
Notre nombre est 164
164 ÷ 2 = 82 + 0
82 ÷ 2 = 41 + 0
41 ÷ 2 = 20 + 1
20 ÷ 2 = 10 + 0
10 ÷ 2 = 5 + 0
5 ÷ 2 = 2 + 1
2 ÷ 2 = 1 + 0
1 ÷ 2 = 0 + 1
On voit apparaître notre nombre binaire en rouge : il faut le lire de bas en haut, ce qui donne 1010 0100.
Joli non ?
- Conversion du binaire en décimal
Dans l'autre sens maintenant : convertir un nombre en base 2 en un nombre en base 10 ! je vous rassure tout de suite, c'est plus simple!
Prenons le nombre (au hasard) : 101 0110. On voit qu'il s'étale sur 7 rangs, et sait que chaque rang correspond à une puissance de 2 : le premier (en partant de la droite) est le rang 0, le second est le rang 1, etc.
Pour le convertir en décimal, on procède de la manière suivante : on multiplie par 20 la valeur du rang 0, par 21 la valeur du rang 1, par 22 la valeur du rang 2, […], par 210 la valeur du rang 10, etc.
Pour notre nombre 101 0110, on a donc 0×20 + 1×21 + 1×22 + 0×23 + 1×24 + 0×25 + 1×26.
Ensuite, il suffit simplement de remplacer les puissances de 2 par leurs valeurs et de faire la somme : 0×1 + 1×2 + 1×4 + 0×8 + 1×16 + 0×32 + 1×64 = 86.
donc : (101 0110)bin = (86)dec
0 commentaires:
à votre signe