1 ) Le système décimal. C est évidemment le système que l on connaît le mieux puisqu on l utilise tous les jours. Les caractéristiques de ce système vont permettre de mieux comprendre les autres systèmes. Le système décimal comprend dix symboles 1 qui sont 0 ; 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 et 9. En utilisant ces symboles comme chiffre dans un nombre, on parvient à exprimer n importe quelle grandeur. Ce système s est imposé tout naturellement à l homme puisque ce dernier possède dix doigts. Le système décimal est dit à poids positionnels en ce sens que la valeur d un chiffre dépend de sa position (ou rang) dans le nombre. Par exemple, si on analyse le nombre décimal 159, on sait que le chiffre 1 correspond en réalité à une fois 100, le chiffre 5 correspond à cinq fois 10 et le chiffre 9 correspond à neuf fois 1. Le 1 étant des trois chiffres celui qui a le poids le plus élevé, on dit que c est le chiffre de poids le plus fort. Par contre, le 9 étant le chiffre dont le poids est le plus petit, on dit que c est le chiffre de poids le plus faible. Si le nombre n est pas entier comme 35,27 par exemple, il est en réalité égal à 3 fois 10 + 5 fois 1 + 2 fois un dixième + 7 fois un centième, c est-à-dire 3 x 10 + 5 x 1 + 2 x 0,1 + 7 x 0,01. Une virgule sépare la partie entière de la partie fractionnaire du nombre. 10 3 10 2 10 1 10 0 10-1 10-2 10-3 Poids de rang 2 7 3 1, 9 4 8 Poids fort Virgule décimale Poids faible De manière générale, tout nombre se résume à la somme des produits de chaque chiffre par le poids de son rang dans le nombre. 1 C est pour cela que le système décimal est également appelé système à base 10. -1-
Comptage décimal : Lorsqu on compte dans le système décimal, on commence avec un zéro dans la position des unités et on progresse en utilisant chacun des symboles jusqu à neuf. Ensuite on ajoute un à la position immédiatement à gauche et on recommence avec zéro dans la position des unités. On poursuit ainsi jusqu au nombre 99. Ensuite, on ajoute 1 à la troisième position et on reprend le comptage avec des zéros dans les deux premières positions. On poursuit de cette façon jusqu au nombre que l on désire atteindre. Une autre caractéristique du système décimal est de pouvoir compter 100 (= 10²) nombres différents en utilisant seulement deux positions décimales. Avec trois positions, on peut compter 1000 (=10³) nombres différents. De manière générale, en occupant N positions, on peut créer une suite de 10 N nombres différents, en partant et en tenant compte de 0. Le nombre le plus élevé de cette suite sera 10 N 1. 1 20 103 2 21 : 3 22 : 4 23 : 5 24 : 6 25 : 7 26 : 8 27 199 9 28 200 10 29 : 11 30 : 12 : : 13 : : 14 : : 15 : : 16 99 : 17 100 : 18 101 999 19 102 1000-2-
2 ) Le système binaire. Malheureusement, le système décimal est difficilement adaptable aux mécanismes numériques car il est difficile de concevoir un équipement électronique qui puisse fonctionner avec dix niveaux de tensions différentes. Par contre, il est très facile d imaginer des systèmes simples et précis qui fonctionnent avec seulement deux niveaux de tensions différentes. Les systèmes informatiques étant construits à l aide de circuits intégrés (ce sont des composants électroniques qui rassemblent sur une puce de silicium quelques millions de transistors), ils ne peuvent fonctionner que selon une logique à deux états telle que, de façon simplifiée et schématique, le courant passe ou ne passe pas dans le transistor. Ces deux états logiques, appelés par convention 0 et 1, déterminent une logique dite binaire. Chaque état peut ainsi être représenté conventionnellement par soit un 1 soit un 0. Un ordinateur ne traitera donc, en interne, que des successions de 0 et de 1. Evidemment, il faudra beaucoup plus de chiffres binaires pour exprimer une grandeur équivalente à un nombre décimal. -3-
Transmission des signaux binaires : Toute information à traiter devra donc pouvoir être représentée sous une forme assimilable par la machine et donc sous forme binaire. Dès qu ils empruntent la voie filaire, les signaux binaires sont transmis classiquement au moyen de deux conducteurs dont l un véhicule le signal et l autre sert de masse. Cette technique, appelée NRZ (No Return to Zero) ou encore bus asymétrique, bien que toujours utilisée, présente des inconvénients liés aux phénomènes électromagnétiques qui font que les signaux s affaiblissent rapidement et deviennent illisibles, notamment lors de transmission des composantes continues telles que de longues suites de 1 ou de 0. Cette méthode est peu à peu remplacée par la technique LVD (Low Voltage Differential), également appelé mode différentiel, ou mode symétrique, où chaque fil véhicule le signal et son inverse. -4-
Comptage binaire : Lorsqu on travaille avec des nombres binaires, on cherche également à utiliser un nombre fixe de bits. Cette limitation est imposée par les circuits qui servent à représenter les nombres binaires. Afin d illustrer le comptage binaire, on a choisi dans le schéma ci-dessous des nombres binaires de quatre bits. La série de nombre commence avec quatre 0, c est ce qu on appelle le nombre zéro. Par la suite, à chaque fois que l on compte 1 de plus, la valeur figurant à la position des unités (2 0 ) bascule, c est-à-dire qu elle passe d une valeur binaire à l autre. Chaque fois que cette valeur passe de 1 à 0, la valeur figurant à la position des 2 (2 1 ) bascule. Chaque fois que cette valeur passe de 1 à 0, la valeur figurant à la position des 4 (2 2 ) bascule. Il en va de même chaque fois que la valeur de la position des quatre passe de 1 à 0, la valeur de la position des 8 (2 3 ) bascule. Le même processus s applique aux rangs plus élevés si le nombre comporte plus de quatre chiffres. 2 3 2 2 2 1 2 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 : 2 0 0 1 1 : 3 0 1 0 0 : 4 0 1 0 1 : 5 0 1 1 0 : 6 0 1 1 1 : 7 1 0 0 0 : 8 1 0 0 1 : 9 1 0 1 0 : 10 1 0 1 1 : 11 1 1 0 0 : 12 1 1 0 1 : 13 1 1 1 0 14 1 1 1 1 15 Poids Equivalent décimal -5-
3 ) Conversions décimal - binaire de nombres entiers. Première méthode : Il s agit de passer d un nombre entier en base 10 à un nombre en base 2 en procédant par divisions successives. Il s agit, par exemple de convertir 135 de la base 10 à la base 2. 135/2 = 67 RESTE 1 67/2 = 33 RESTE 1 33/2 = 16 RESTE 1 16/2 = 8 RESTE 0 8/2 = 4 RESTE 0 4/2 = 2 RESTE 0 2/2 = 1 RESTE 0 1/2 = 0 RESTE 1 La flèche pointée vers le haut indique le sens de lecture. Le nombre 135 en base 10 est ainsi l équivalent de 10000111 en binaire. Ce nombre binaire est appelé octet car il se compose de huit bits (un nombre binaire de quatre bits est appelé quartet). Deuxième méthode : Cette technique consiste à retrancher du nombre la plus grande puissance de 2 possible, et ainsi de suite dans l ordre décroissant des puissances. Si on peut retirer la puissance de 2 concernée, on note 1 sinon on note 0 et on continue de la même manière jusqu à la plus petite puissance de 2 possible. Reprenons le même exemple que pour la première méthode : de 135 on peut 1 Retirer 128 reste 7 de 7 on ne peut pas 0 Retirer 64 reste 7 de 7 on ne peut pas 0 Retirer 32 reste 7 de 7 on ne peut pas 0 Retirer 16 reste 7 de 7 on ne peut pas 0 Retirer 8 reste 7 de 7 on peut 1 Retirer 4 reste 3 de 3 on peut 1 Retirer 2 reste 1 de 1 on peut 1 Retirer 1 reste 0 La flèche indique toujours le sens de lecture : il est donc inversé par rapport à la première méthode mais le résultat est le même : 10000111. -6-
4 ) Conversions binaire décimal de nombres entiers. On passe d un nombre en base 2 à un nombre en base 10 par multiplications successives. On multiplie chaque élément (ou bit) du nombre binaire par le chiffre 2 élevé à une puissance, croissant par pas de, compté à partir de 0 en partant de la droite, puis on effectue la somme des résultats obtenus. Reprenons une nouvelle fois le nombre binaire 10000111 : 1 0 0 0 0 1 1 1 x x x x x x x x 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 128 64 32 16 8 4 2 1 = = = = = = = = 128 0 0 0 0 4 2 1 Dont la somme donne bien sûr 135 en base 10-7-
5 ) Le système hexadécimal. Si le langage binaire présente l avantage d être compréhensible par la machine (c est pour cette raison qu il est également appelé langage machine) il est difficilement assimilable par l homme dès qu on manipule de grandes séries binaires. Par conséquent, on utilise un autre système de notation qui représente une façon abrégée les nombres binaires : c est le système hexadécimal (également appelé base 16). En notation hexadécimal, on utilise un alphabet qui se compose de 16 caractères : les chiffres ne pouvant représenter que 10 symboles (0 à 9), on doit alors utiliser six symboles supplémentaires pour compléter l alphabet. Les symboles retenus sont les six premières lettres de l alphabet : A ; B ; C ; D ; E et F. «Alphabet» décimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 A B C D E F «Alphabet» hexadécimal -8-
Le tableau ci-dessous expose les rapports entre les systèmes hexadécimal, numéral et binaire. Hexadécimal Binaire 0 0 0 0 0 0 1 1 0 0 0 1 2 2 0 0 1 0 3 3 0 0 1 1 4 4 0 1 0 0 5 5 0 1 0 1 6 6 0 1 1 0 7 7 0 1 1 1 8 8 1 0 0 0 9 9 1 0 0 1 A 10 1 0 1 0 B 11 1 0 1 1 C 12 1 1 0 0 D 13 1 1 0 1 E 14 1 1 1 0 F 15 1 1 1 1 Décimal -9-
6 ) Conversions décimal hexadécimal de nombres entiers. Pour la conversion décimal binaire, il a fallu utiliser des divisions par 2 successives. Dès lors, pour convertir un nombre décimal en en nombre hexadécimal, il faut également procéder de la même manière, mais cette fois en divisant par 16. Les restes des divisions deviennent les chiffres du nombre hexadécimal (les restes supérieurs à 9 sont exprimés à l aide des lettres A ; B ; C ; D ; E et F). Prenons par exemple la conversion de 423 en hexadécimal : 423 / 16 = 26 il reste 7 26 / 16 = 1 il reste 10 1 / 16 = 0 il reste 1 10 équivaut à la lettre A. Le nombre décimal 423 est donc égal au nombre 1A7 en hexadécimal. Déroulement de l opération : Lorsqu on divise à l aide d une machine à calculer, on remarque sur le cadran un nombre fractionnaire plutôt qu un reste. Pour retrouver ce reste, il suffit de multiplier la fractionnaire par 16. Reprenons l exercice ci-dessus à titre d exemple : 423 / 16 = 26,4375 le reste est de 0,4375 x 16 = 7 26 / 16 = 1,625 le reste est de 0,625 x 16 = 10 1 / 16 = 0,0625 le reste est de 0,0625 x 16 = 1 On obtient donc, comme auparavant, le nombre hexadécimal 1A7. -10-
7 ) Conversions hexadécimal décimal de nombres entiers. Il est aisé de passer d un nombre hexadécimal vers un nombre décimal par multiplications successives, en suivant le principe de la conversion binaire. Cependant, ici, il ne s agit plus des exposants de 2 mais des exposants de 16 puisqu en hexadécimal, la base est de 16. Tout comme dans la conversion binaire, le chiffre 16 de la conversion hexadécimal est élevé à une puissance, croissante par pas de 1, comptée à partir de 0 en partant de la droite, puis on effectue la somme des résultats obtenus. Reprenons l exemple précédent : à savoir convertir le nombre hexadécimal 1A7 en décimal : A équivaut à 10. 1 A 7 x x x 16 2 16 1 16 0 = = = 256 160 7 La somme vaut donc 423-11-
8 ) Conversions hexadécimal binaire de nombres entiers. Si on examine le tableau exposant les rapports entre le système hexadécimal et le système binaire, on constate que l on utilise, pour chacun des 16 symboles de l alphabet hexadécimal, un maximum de 4 bits. La conversion d un nombre hexadécimal en un nombre binaire est très facile, puisqu il suffit de remplacer chaque chiffre hexadécimal par son équivalent binaire de 4 bits. Prenons par exemple le nombre hexadécimal 9F2 à convertir en binaire : 9 F 2 1 0 0 1 1 1 1 1 0 0 1 0 Le nombre hexadécimal 9F2 s écrira donc en binaire sous la forme : 10011110010. -12-
9 ) Conversions binaire hexadécimal de nombres entiers. Cette conversion est tout simplement l inverse de celle vue au point précédent. Le nombre binaire est divisé en groupes de 4 bits, puis on substitue à chaque groupe son chiffre hexadécimal équivalent. Au besoin, on ajoute des 0 à gauche pour obtenir un dernier groupe de 4 bits. Prenons par exemple le nombre binaire 11101100110 à convertir en hexadécimal : On a ajouté deux 0 à la gauche de 11 (partie ombrée) afin d obtenir un dernier groupe de 4 bits. 0 0 1 1 1 0 1 0 0 1 1 0 3 A 6 Le nombre binaire 1110100110 s écrira donc en hexadécimal sous la forme 3A6. -13-
10 ) Addition de nombres binaires. Les nombres binaires s'additionnent de la même manière que les nombres décimaux en respectant les quelques règles suivantes : 0 + 0 = 0 ; 0 + 1 = 1 ; 1 + 0 = 1 ; 1 + 1 = 0 avec une retenue de 1 ; 1 + 1 + 1 = 1 avec une retenue de 1. 1 1 1 0 0 0 1 1 0 1 + 1 0 0 1 _ = 1 0 0 1 0 1 1 0-14-
11 ) Addition de nombres hexadécimaux. Il existe deux méthodes pour additionner des nombres hexadécimaux. La première consiste à utiliser le tableau ci-dessous : 1 F 4 + A 2 D _ = B 11 11 On reporte le 1 des dizaines: ce qui fait 12 = B 12 1 On reporte le 1 des dizaines: ce qui fait C = C 2 1-15-
Mais, se servir de ce tableau implique le fait de la connaître par cœur. Il existe donc un moyen plus simple. Il suffit d appliquer la règle suivante : La compensation dans les colonnes où on obtient un nombre plus grand que 16 s'effectue en additionnant 4 et en effectuant un report de 1 pour chaque apparition de 20. Pour l'addition B7 et de 6C, il suffit de procéder comme dans le système décimal avec la conversion B = 11 et C = 12. B 7 + 6 C 17 19 Les nombres obtenus étant plus grands que 16, il faut additionner 4 et effectuer un report de 1 pour chaque 20, B 7 + 6 C 17 19 + 4 4 1 1 21 23 Report de 1 1 2 3 Donc, B7 + 6C = 123-16-
12 ) Exercices à résoudre. 1- Convertir chacun des nombres décimaux suivants en nombre binaire : a) 123. b) 12. c) 1097. d) 2545. e) 1001. f) 243. 2- Convertir chacun des nombres binaires suivants en nombre décimal : a) 11011. b) 10101010. c) 11001. d) 111111101. e) 101010101011. f) 11110111011. 3- Convertir chacun des nombres décimaux suivants en nombre hexadécimal : a) 435. b) 8756. c) 1981. d) 654. e) 998. f) 774 4- Convertir chacun des nombres hexadécimaux suivants en nombre décimal : a) 1E2. b) AAF. c) 90D. d) 3341. e) AAFBC1. f) FFEDA74. -17-
5- Convertir chacun des nombres hexadécimaux suivants en nombre binaire : a) 1A2. b) E43. c) 997A. d) 1234B. e) BBCD1. f) CCBBAD41. 6- Convertir chacun des nombres binaires suivants en nombre hexadécimal : a) 11010010. b) 110111. c) 1110110001. d) 11000000011. e) 110110. f) 100111000000110. 7- Additionner les nombres binaires suivants : a) 1010011 + 110 b) 11111 + 101011 c) 110101 + 11010 d) 101010+110011 e) 11 + 10101111 f) 101 + 101000001 8- Additionner les nombres hexadécimaux suivants : a) A3F5 + AC0 b) AD + 651 c) EF6 + EFA4 d) 186E + EFFD e) 1AD3 + 3E4A f) 1067 + ABE -18-
9- Voici un Sudoku, non pas en écriture décimale mais en écriture hexadécimale. Il se compose donc de 16 cases sur 16 cases (ce qui fait 256 cases). Résolvez-le : -19-