Un système de numération est une convention de représentation des nombres. Cette notion apparaît lorsque vous utilisez la calculatrice, livrée dans les accessoires de Windows. Ce logiciel (dont nous avons fait un montage ci-dessous) vous permet de passer facilement d un système à un autre. Il supporte 4 systèmes de numération : l hexadécimal, le Décimal, l Octal et le Binaire. Dans l exemple ci-dessus, nous avons frappé le nombre 135, après s être assuré que le bouton radio était bien sélectionné. En changeant la sélection des boutons radio, la machine nous a donné les équivalences suivantes : 135 (10) = 1000 0111 (2) = 207 (8) = 87 (16) Vous remarquerez que nous avons fait apparaître le système de numération entre parenthèses, sous forme d indice. On utilise le plus souvent le terme de «BASE» pour exprimer un système de numération. C est pourquoi on peut tout aussi bien dire que 135 en «base 10» est équivalent à 1000 0111 en «base 2» ou vaut 87 en base 16. Comment prononcer 87 en base 16? Il ne faut pas dire «quatre vingt sept»en base 16, mais «huit, sept» en base 16. Dès que l on sort du système décimal, la traduction littéraire des nombres n a plus de signification : il faut épeler les chiffres et préciser la base. Représentation des nombres dans une Base Le système décimal Le système décimal utilise 10 symboles(chiffres) pour représenter les nombres. Par convention, les chiffres arabes ont été utilisés et sont notés respectivement : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9. C est leur position dans le nombre qui permet de leur attribuer une signification. On parlera de chiffre des «unités», chiffre des «dizaines», chiffre des «Centaines», chiffre des «Milliers», etc Cent trente cinq c est à dire 135 (10) peut s écrire : 1 x 100 + 3 x 10 + 5 x 1 Ou Jacques Chambon 1/5 11-COURS_SI_Systeme_Numeration
Vous le saviez déjà! 1 x 10 2 + 3 x 10 1 + 1 x 10 0 Mais en généralisant, on peut écrire que le nombre «abcd» en base z s exprime de la façon suivante a x z 3 + b x z 2 + c x z 1 + d x z 0 Si a, b, c, d représente respectivement les chiffres 0, 1, 2 et 3 et z la base 5, on obtient la décomposition suivante 0 x 5 3 + 1 x 5 2 + 2 x 5 1 + 3 x 5 0 En calculant l expression correspondante on obtient : 0 x 125 + 1 x 25 + 2 x 5 + 3 x 1 On vous rappelle que tout nombre élevé à la puissance 0 donne 1. C est une convention de nos mathématiques. En effectuant le calcul, on obtient la valeur : 25 + 10 +3 = 38 Trois huit, mais dans quelle base? eh bien, Trente huit c est à dire 38 (10) Vous pouvez maintenant attaquer les autres systèmes de numération. Le système binaire Nous commençons par ce système parce que c est lui qui est utilisé dans le cœur des ordinateurs. Un ordinateur est une machine fabriquée à partir de composants électroniques élémentaires dont la fonction est de laisser passer l électricité ou de la bloquer. Vous connaissez ce principe avec les interrupteurs électriques. Il n y a que 2 états possibles, Marche/Arrêt, On/Off ou 1/0. Par convention les chiffres choisis sont 0 et 1. Le système de numération est la base 2. Un nombre ne sera donc composé que de 0 et de 1. Conversion en base 10 Comme nous l avons vu dans le paragraphe consacré à la généralisation, cette conversion nécessite de décomposer le nombre binaire. Prenons le nombre : 1 0 0 0 0 1 1 1 Décomposons le calcul 1 x 2 7 + 0 x 2 6 + 0 x 2 5 + 0 x 2 4 + 0 x 2 3 + 1 x 2 2 + 1 x 2 1 + 1 x 2 0 En effectuant les puissances de 2, nous obtenons : 1 x 128 + 0 x 64 + 0 x 32 + 0 x 16 + 0 x 8 + 1 x 4 + 1 x 2 + 1 x 1 Il nous reste donc : 128 + 4 + 2 + 1 = 135 en base 10. La calculatrice ne s était pas trompée 1000 0111 (2) est bien équivalent à 135 (10) Conversion en base 2 En partant de 135 (10) comment peut-on retrouver 1000 0111 (2)? La première méthode est celle des divisions successives. Le principe est le suivant : en utilisant la division euclidienne (division entière) on divise les quotients successifs par la base de numération. On s arrête lorsque la valeur du quotient obtenu est inférieure à la valeur de la base. Jacques Chambon 2/5 11-COURS_SI_Systeme_Numeration
135 2 1 67 67 2 1 33 33 2 1 16 16 2 0 8 8 2 0 4 4 2 0 2 2 2 0 1 Le nombre binaire équivalent est constitué des restes des divisions successives, lus de droite à gauche et du dernier quotient obtenu. La deuxième méthode consiste à établir la liste des diverses puissances de 2 et à rechercher par addition la combinaison permettant d obtenir le nombre décimal correspondant : 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 256 128 64 32 16 8 4 2 1 Pour obtenir la valeur 135, quelle combinaison des puissances de 2 doit-on utiliser? 128 + 4 + 2 + 1 = 135 256 128 64 32 16 8 4 2 1 0 1 0 0 0 0 1 1 1 Il suffit d associer la valeur 1 aux puissances sélectionnées et 0 aux autres puissances. Ces deux méthodes sont généralisables à tout système de numération. Le système Hexadécimal Ce système utilise seize symboles pour représenter les nombres. Par convention 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F ont été choisis. Conversion en base 10 Quelle valeur décimale correspond à 87 (16)? Appliquons la définition du système de numération. Le 7 correspond à 16 puissance 0 et le 8 à 16 puissance 1. 8 7 16 1 16 0 8 x 16 1 + 7 x 16 0 En multipliant la valeur du chiffre par la valeur de la puissance correspondante on obtient le résultat suivant : 8 x 16 + 7 x 1 soit 128 + 7 = 135 (10). Une fois de plus nous constatons que la calculatrice ne s était pas trompée. Mais comment faire lorsque le nombre hexadécimal comporte des lettres? Il faut établir une table de correspondance entre lettre et valeur décimale. Jacques Chambon 3/5 11-COURS_SI_Systeme_Numeration
Symbole Hexadécimal A B C D E F Valeur décimale 10 11 12 13 14 15 Quelle est alors la valeur décimale du nombre C5E (16)? C5E (16) est équivalent à 3166 (10) Conversion en base 16 C 5 E 16 2 16 1 16 0 12 x 16 2 + 5 x 16 1 + 14 x 16 0 12 x 256 + 5 x 16 + 14 x 1 3072 + 80 + 14 3166 (10) Pour convertir un nombre décimal en base 16, appliquons la méthode des divisions successives. 135 16 3166 16 7 8 14 197 197 16 5 12 Pour 135 (10) on s arrête très vite de calculer puisque le premier quotient obtenu est inférieur à la base. Le résultat est donc 87 (16). Pour 3166 (10) on obtient successivement 12, 5 et 14. En utilisant la table de conversion, on retrouve bien C5E (16). Pourquoi parler du système hexadécimal? Parce qu il est plus facile pour un être humain de manipuler des nombres possédant un petit nombre de chiffres et surtout parce qu il très facile de convertir des nombres exprimés en base 2 en nombres exprimés en base 16 et inversement. Conversion base 2 base 16 Ce type de conversion est basé sur le tableau de correspondance suivant : Base Valeur 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 A B C D E F 2 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Chaque chiffre exprimé en base 16 nécessite «4 bits» en base 2. Pour convertir le nombre 10101011010 1 (2) en base 16, il suffit de regrouper les bits par 4 en lisant le nombre de droite à gauche, puis de convertir chaque quartet en base 16. 1010 1011 0101 A B 5 10101011010 1 (2) est équivalent à AB5 (16) Jacques Chambon 4/5 11-COURS_SI_Systeme_Numeration
Comment faire lorsque le nombre binaire ne contient pas un nombre de bits multiple de 4? Par exemple : soit à convertir 1011011 (2). Ce nombre ne comprend que 7 bits. Il suffit d ajouter autant de zéros que nécessaire à gauche du nombre pour obtenir un nombre de bits multiple de 4. Le nombre précédent devient : 0101 1011. La conversion des quartets nous permet d écrire Conversion base 16 base 2 1011011 (2) est équivalent à 5B (16) Avez-vous besoin d explication? C est l opération inverse de la précédente. Il suffit de convertir chaque chiffre du nombre hexadécimal en son équivalent binaire. Soit le nombre 4AF2 (16) à convertir en binaire. 4 A F 2 0100 1010 1111 0010 4AF2 (16) est équivalent à 100101011110010 (2) Jacques Chambon 5/5 11-COURS_SI_Systeme_Numeration