Les systèmes numériques sont omniprésents dans notre monde technologique. La grande force des systèmes numériques est leur capacité à représenter l’information sous toutes ses formes et à permettre la manipulation de cette information. Tout ensemble dont les éléments peuvent être dénombrés, comme un alphabet ou un ensemble fini de couleurs, se prête naturellement à une représentation numérique. Mais il est également possible de représenter des informations qui correspondent à des informations provenant d’ensembles continus, comme par exemple des informations sonores, en procédant à une numérisation par échantillonnage et codage.
Une bonne façon de se familiariser avec la représentation numérique de l’information est d’étudier le système de numération binaire. Dans un chapitre suivant, nous étudierons les principes fondamentaux de la logique binaire. C’est sur ces deux bases que nous pourrons établir notre exploration des circuits logiques.
Les nombres binaires sont essentiellement construits de la même façon que les nombres décimaux qui nous sont plus familiers. La différence fondamentale tient au fait qu’il n’est possible d’utiliser que deux symboles (chiffres), 0 et 1, plutôt que les dix chiffres de 0 à 9. Les chiffres sont nommés bits (contraction de b inary dig it).
Par exemple, le nombre décimal que nous écrivons \(2843\) correspond à \(2 \times 1000 + 8 \times 100 + 4 \times 10 + 3 \times 1\). Il s’agit d’un système positionnel, dans lequel la valeur attribuée à un chiffre est définie par sa position et par la valeur de la base du système de numération. Ainsi, pour ce nombre décimal, la base vaut 10 et on a \(2 \times 10^3 + 8 \times 10^2 + 4 \times 10^1 + 3 \times 10^0\). La position la plus à gauche est celle dont la valeur est la plus grande. C’est le chiffre le plus significatif; la position de droite correspond au chiffre le moins significatif. On peut imaginer une virgule après le chiffre le moins significatif, pour délimiter la partie entière du nombre. D’autres chiffres, placés à droite de cette virgule correspondraient à la partie fractionnaire. Nous y reviendrons.
Les mêmes règles positionnelles permettent d’attribuer une valeur à un nombre binaire, en tenant compte du fait que la base vaut cette fois-ci 2. Par exemple, la valeur attribuée au nombre binaire \(10101\) est
\[1 \times 2^4 + 0 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 16+4+1= 21\]comme on peut voir dans le tableau 1.
Position | 4 | 3 | 2 | 1 | 0 |
Valeur | $$2^4$$ | $$2^3$$ | $$2^2$$ | $$2^1$$ | $$2^0$$ |
Valeur déc. | 16 | 8 | 4 | 2 | 1 |
Bit | 1 | 0 | 1 | 0 | 1 |
Nous avons ici le bit le plus significatif à gauche et le bit le moins significatif à droite. Chaque chiffre vaut deux fois plus que le chiffre immédiatement placé à sa droite.
Convertir un nombre entier binaire en nombre décimal se fait naturellement, en s’appuyant sur les valeurs associées à la notation positionnelle. La conversion en sens inverse, de décimal à binaire, est un peu moins évidente. La méthode consiste à faire une division entière du nombre (et des quotients successifs) par 2 et à noter les restes obtenus. Le premier reste correspond au bit le moins significatif, et le dernier, au bit le plus significatif.
Par exemple, les opérations pour convertir 37 en binaire sont résumées dans le tableau 2.
Quotient entier | Reste | Coefficient | |
---|---|---|---|
37/2 | 18 | 1 | $$a_0 = 1$$ |
18/2 | 9 | 0 | $$a_1 = 0$$ |
9/2 | 4 | 1 | $$a_2 = 1$$ |
4/2 | 2 | 0 | $$a_3 = 0$$ |
2/2 | 1 | 0 | $$a_4 = 0$$ |
1/2 | 0 | 1 | $$a_5 = 1$$ |
On obtient ainsi 100101.