Cours 2009
Partiel : Système de numération 1. Introduction Le système dans lequel nous exprimons les nombres que nous manipulons est un système de numération en base 10 dans lequel un chiffre a « un poids » différent suivant sa position. Concrètement cela signifie que nous disposons de 10 chiffres (O, 9) qui sont juxtaposés pour former un nombre mais que 123 et 213 ont des valeurs différentes. Ainsi, 123 signifie 3 unités, 2 dizaines et 1 centaine. Et 213 signifie 3 unités, 1 dizaine et 2 centaines. Pourquoi, dizaine?
Comme nous travaillons en base 10, nous ne disposons que de 10 chiffres et que nous ne pouvon les nombres compris 2 sera donc exprimé – S. wp next page affecté d’un « poids » d chiffres, on ne peut e un seul chiffre que entier succédant ? où le chiffre 1 sera ? Parce que avec 2 s entiers compris entre O et 99. Le nombre suivant 99 sera donc exprimé avec 3 chiffres: 100 où le 1 sera affecté d’un poids de cent. 2. Principe d’une base La base est le nombre qui sert à définir un système de numération. La base du système décimal est dix alors que celle du système octal est huit.
Quelque soit la base numérique employée, elle suit la relation suivante : I : rang bi : chiffre de la base de rang i a : puissance de la base a d’exposant de rang i 3. Le système décimal décimal est celui dans lequel nous avons le plus l’habitude décrire. Chaque chiffre peut avoir 10 valeurs différentes : O, 1, 2, 3, 4, 5, 6, 7, 8, 9, de ce fait, le système décimal a pour base 10. Tout nombre écrit dans le système décimal vérifie la relation 745=7X100+4X10+5X1 745=7X10X10+4X10+5X1 745=7×102+4x 101 +5x 100 Chaque chiffre du nombre est à multiplier par une puissance de 10 : c’est ce que l’on nomme le poids du chiffre.
L’exposant de cette puissance est nul pour le chiffre situé le plus à droite et s’accroît d’une unité pour chaque passage à un chiffre vers la gauche. 12435=1 x 104+2x 100. Cette façon d’écrire les nombres est appelée système de numération de position. Dans notre système conventionnel, nous utilisons les puissances de 10 pour pondérer la valeur des chiffres selon leur position, cependant il est possible d’imaginer d’autres systèmes de nombres ayant comme base un nombre entier différent. 4. Le système octal Le système octal utilise un système de numération ayant comme base 8 (octal latin octo – huit).
Il faut noter que dans ce système nous n’aurons plus 10 symboles mais 8 seulement Ainsi, un nombre exprimé en base 8 pourra se présenter de la manière suivante : (745)8 Lorsque l’on écrit un nom en préciser la base dans l’exprime pour lever les éventuelles indéterminations (745 existe aussi en base IO). Ainsi le nombre sera mis entre parenthèses (745 dans notre exemple) et indicé d’un nombre représentant sa base (8 est mis en indice). Cette base obéira aux même règles que la base IO, vue précédemment, ainsi on peut décomposer (745)8 de la façon +4X81 +5X80 (745)8 + 32 +5 Nous venons de voir que (745)8 (485)10 5.
Le système binaire Dans le système binaire, chaque chiffre peut avoir 2 valeurs différentes : O, 1. De ce fait, le système a pour base 2. Tout nombre écrit dans ce système vérifie la relation suivante : 10 x 24+0x23+1 x22+1 x 21 + 0x20 donc : (101 1 = (22)10 . Tous les systèmes de numération de position obéissent aux règles que nous venons de voir. Tableau récapitulatif 6. Le système hexadécimal Le système hexadécimal utilise les 1 6 symboles suivant : De ce fait, le système a pour base 16.
Un nombre exprimé en ba , se présenter de la obtient 162 + 10 x 161 15x 160 256+ 15×1 donc = (5AF)16 = (1455)10 7. Conversion d’un nombre de base quelconque en nombre décimal En exposant les principes des systèmes de numération de position, nous avons déjà vu comment convertir les nombres de ase 8, base 2 et base 16 en nombres décimaux. 8. Conversion d’un nombre décimal en nombre binaire Pour expliquer ce type de conversion, on peut revenir sur le système décimal. Si nous divisons le nombre (543)10 par 10, nous obtenons comme quotient 54 et 3 comme reste.
Cela sign’fie que ce nombre équivaut à : (54 x 10)+3 Le reste 3 est le chiffre indiquant le nombre d’unités. En redivisant ce quotient (54) par 10, nous obtenons 5 comme deuxième quotient et 4 comme reste. Ce reste donne le deuxième chiffre du nombre, donc celui des dizaines. Enfin, si l’on divise ce deuxième quotient par 10, nous obtenons O t il restera 5 qui représentera le chiffre des centaines. Résumer du principe de conversion En divisant successivement un nombre par la base (10) et en ne conservant que les restes, on a réussi à exprimer le nombre par des chiffres inférieurs de 10.
Mais attention, il faut lire les restes de bas en haut. 9. Conversion binaire Maintenant si nous divisons un nombre décimal par 2, le quotient indique le nombre de fois tenu dans ce nombre et dans l’expression du nombre binaire. Soit N le nombre, QI le quotient et RI le reste, nous avons x x20) Exemple : soit N = (22×2) (0 x Pour obtenir l’expression binaire d’un nombre exprimé en écimal, il suffit de diviser successivement ce nombre par 2 jusqu’à ce que le quotient obtenu soit égal à O.
Comme pour la conversion dans le système décimal les restes de ces divisions lus de bas en haut représentent le nombre binaire. (44)10 = (101100)2 Relation entre les nombres binaires et les nombres octaux Exprimons (47)1 0 dans le système octal et le système binaire. Nous obtenons : Nous pouvons remarquer qu’après 3 divisions en binaire nous avons le même quotient qu’après une seule en octal.
De plus le premier reste en octal obtenu peut être mis en relation directe avec les trois premiers restes en binaire : x 20 (111)2 = (7)8 et il en est de même pour le caractère octal suivant (101)2 = (5)8 Cette propriété d’équivalence entre chaque chiffre octal et chaque groupe de 3 chiffres binaires permet de passer facilement d’un système à base 8 à un s stèrne à base 2 et vice versa. Exemple de conversion bi ctal binaire : s 2 d’équivalence que nous venons de voir entre le binaire et l’octal existe entre l’hexadécimal et le binaire.
La seule différence est qu’il faut exprimer chaque caractère hexadécimal à l’aide de 4 informations binaires. 10. Unités de mesures basées sur l’octet En informatique, la grandeur de base est le bit (binary digit). Cette mémoire ne peut prendre que 2 valeurs : O ou 1. Les autres unités de mesures correspondent à des regroupements de bits. Un ensemble de 8 bits s’appelle un octet symbole 😮 (en anglais : Attention, octet en anglais s’écrit Byte. Partie2: Code, codage et transcodeur 1. Définitions Le codage est l’opération qui transforme une information (écriture décimal, position angulaire, vitesse… en écriture binaire dans un code de notre choix. Un code est un est un langage composé de différents symboles ou mots. un mot est un ensemble de caracteres numériques ou lphanumériques. Le transcodage est le passage d’un code à un autre. 2. Code binaire pur Ce code correspond au système de numération binaire et fait référence au code binaire naturel. Les caractères sont des bits, les mots sont formés par une association ou combinaison de bits et avec n bits nous pouvo aximum 2n mots. 2 puissance de 2, nous épuisons en colonne toutes les combinaisons dans l’ordre croissant décimal, puis nous passons en ligne à la puissance de 2 immédiatement supérieure. Nous effectuons alors toujours dans le même ordre toutes les combinaisons jusqu’à épuisement… Une autre méthode consiste à établir une périodicité. Chaque colonne correspond à une alternance de bits bien établie. Ainsi, en partant de la colonne de poids faible (ou LSB = Low Significant Bit) à la colone de poids fort (ou MSB = Most Significant Bit) nous avons une périodicité de 2, 4, 8, 16, 32… its. Attention à ne pas confondre périodicité et puissance de 2 ! Pour la colonne de périodicité de 21 (soit 2) nous avons une puissance de 2 égale à 20 soit un poids binaire de 1 Pour la colonne de périodicité de 22 (soit une périodicité de 4) correspond une puissance de 2 égale à 21 soit un poids binaire de Codes décimaux codés binaires (BCD) La façon la plus simple de représenter les IO chiffres décimaux par 4 variables binaires est de prendre les 10 premières combinaisons des 4 variables du système binaire naturel.
Si nous affectons les poids 1, 2, 4, 8 à ces 4 variables, nous obtenons le tableau de correspondance suivant : 5. Code binaire réfléchi ou code Gray Le code Gray est un code construit de telle façon qu’a partir du chiffre O chaque nomb iffère du précédent 22 En l’exprimant autrement nous pouvons également dire que l’on change un seul bit à la fois quand un nombre est augmenté d’une nité. De plus, on opère de telle manière que le digit de transformation soit d’un poids faible. Si une erreur survient lors d’une transformation d’un nombre à un autre elle est ainsi minimisée. ) Construction du code Gray Commençons par un exemple simple et établissons le code gray pour les 4 premiers chiffres décimaux O à 3. Deux bits suffisent et les combinaison en binaire BCD sont les suivantes : Nous remarquons que pour aller du nombre (1 0 à (2)10 nous changeons les deux bits à la fois pour passer de (01)2 à (10)2. En code Gray, pour passer d’une ligne à la suivante, on inverse un eul bit de telle manière qu’il soit le bit le plus à droite possible conduisant à un nouveau nombre.
Ce qui donne les combinaisons suivantes : b) Construction par la méthode du code binaire réfléchi ou code REFLEX Le nom code binaire réfléchi vient d’une autre méthode de construction. Elle est plus pratique ou plus visuelle quand au choix du bit à inverser lors du passage dun nombre au suivant. On établi un code de départ zéro est codé O et un est codé 1 (1). Puis, à chaque fois qu’on a besoin d’un bit supplémentaire on symétrise les nombres déjà obtenus (comme une réflexion dans un miroir t on rajoute un 1 au début des nouveaux nombres (4) et un zéro sur les anciens.
Ci-dessous nous recommençons l’expérience pour les nombres (0)10 à (7)10. anciens. c) Règle de formation du code Gray à partir du binaire pur Soit un nombre N en binaire pur, pour obtenir son équivalent n en binaire réfléchi, il suffit d’effectuer l’opération suivante : Exemple • soit N=OIII, nous avons 2N = 1 110 (pour multiplier par 2 on effectue un décalage de la droite vers la gauche). On effectue maintenant l’opération OU Exclusif de N et 2N Puis nous divisons par 2 le résultat soit 1001 / 2 = 0100 (pour iviser par 2 on effectue un décalage de la gauche vers la droite).
Nous avons alors • pour N 0111 en binaire pur correspond n 0100 en code Gray. d) Convertisseur de code binaire en code gray La construction du code Gray pour les nombres de O à 15 est représentée par le tableau suivant • 6. Les codes de caractères Afin de pouvoir transmettre ou stocker tous les types de caractères alphanumériques ou autres, des codes conventionnels ont été établis. Chaque caractère est associé à son équivalent en code numérique. Il existe de nombreux codes et nous pouvons citer pour mémoire le code ASCII, IEBCDIC, L’UNICODE, IllJTF8… Le code ASCI Avec l’avènement des ma ement de l’information représentait les caractères sur 7 bits (c’est-à-dire 128 caractères possibles, de O à 127). Le huitième bit est un bit de parité. En écrivant GRAY en ASCII nous obtenons . Avec la parité paire le résultat est le suivant : Table des codes de caractères ASCII Y = 59 (hexadécimal) 101 1001 ACK 06 Les codes O à 31 sont des caractères de contrôle car ils permettent de faire des actions telles que le retour à la ligne (CR), un Bip sonore (BEL)… les majuscules sont représentées par Les codes 65 à 90 et les inuscules par les codes 97 à 122.
En modifiant le 6ème bit nous passons de majuscules ? minuscules, c’est-à-dire en ajoutant 32 au code ASCII en base décimale. Partie3: Représentation des réels 1. Nombre à virgule flottante a) Représentation des nombres à virgule flottante Nous savons qu’il est nécessaire de stocker des données dans les machines. Ainsi le nombre 9,750 se trouvera mémorisé sous la forme suivante : 1001,11 Toutefois cette expression binaire ne suffit pas à définir totalement notre donnée car il n’ a aucune indication sur la valeur du poids binaire aff ents bits, d’où la notion 0 2