ESINSA Fabrice Muller ESINSA Université de Nice Sophia Antipolis fmuller@i3s.unice.fr http://www.esinsa.unice.fr/~fmuller/ 22 - -
Plan Les systèmes de numération Fonctions et Circuits Logiques Simplification des Fonctions Logiques Les Différents Codes 22-2 -
Les Systèmes de Numération Les principaux systèmes pondérés Transcodage d un système de base B vers le système décimal Transcodage binaire vers la base 2 N et base 2 N vers binaire Arithmétique binaire Représentation binaire des nombres décimaux relatifs 22-3 -
Les principaux systèmes pondérés Le système décimal () Pourquoi? Système le plus utilisé par l homme L homme a commencé à se servir de ses doigts pour compter les objets Définition La base d un système de numération pondéré est le nombre de symbole différents qu utilise ce système. Pourquoi Pondéré? C est une numération de position dont la place du chiffre dans le nombre est importante. Représentation symboles différents noté,,2,3,4,5,6,7,8,9 Représentation en Base ou décimale 22-4 -
Les principaux systèmes pondérés Le système décimal (2) Exemple 2 2x 3 2 + + x 2 + + x 3, 2 5 + 3x + 2x - + 5x -2 + 3 +,2 +,5 = 23,25 Généralisation N = a n a n- a, a - a -m Rang Poids N = a n. n + a n-. n- + + a. + a -. - + + a -m. -m 22-5 -
Les principaux systèmes pondérés Le système binaire () Pourquoi? La plupart des systèmes électriques ne connaissent que 2 états bien déterminés. Soit le courant passe, ce que l on représente parfois par un interrupteur fermé Soit le courant ne passe pas, ce que l on représente par un interrupteur ouvert Représentation 2 symboles différents noté, Représentation en Base 2 ou binaire Remarque Ce codage rend le calcul plus lourd mais la mise en œuvre électrique plus simple. 22-6 -
Les principaux systèmes pondérés Le système binaire (2) Définitions Le bit Le bit en binaire est l équivalent d un chiffre en base. Le bit peut prendre que la valeur ou. a n est le bit de poids fort et a -m le bit de poids faible. La capacité d une base La capacité d une base est le plus grand nombre, exprimé en base, que l on peut représenter avec n chiffres dont on dispose dans ladite base. Équivalence en décimal N 2 = a n a n- a, a - a -m Poids fort Poids faible Exemple Capacité d un nombre binaire de 5 bits? N max = 2 = 2 5 - = 3 N = a n.2 n + a n-.2 n- + + a.2 + a -.2 - + + a -m.2 -m 22-7 -
- 8-22 Les principaux systèmes pondérés Le système binaire (3) Donner les 6 premières combinaisons a a a 2 a 3 combinaisons 5 4 3 2 9 8 7 6 5 4 3 2
Les principaux systèmes pondérés Le système octal Pourquoi? La taille des informations traitées augmente Facilite la conversion (puissance de 2) Diminution du nombre de chiffres à manipuler Représentation 8 symboles différents noté,,2,3,4,5,6,7 Représentation en Base 8 (2 3 ) ou octal Équivalence en décimal N 8 = a n a n- a, a - a -m Poids fort Poids faible N = a n.8 n + a n-.8 n- + + a.8 + a -.8 - + + 8 -m.2 -m 22-9 -
Les principaux systèmes pondérés Le système hexadécimal Pourquoi? La taille des informations traitées augmente toujours Facilite la conversion comme la base 8 (puissance de 2) Diminution du nombre de chiffres à manipuler Représentation Représentation en Base 6 (2 4 ) ou hexadécimal Base 2 3 4 5 6 7 8 9 2 3 4 5 Base 6 2 3 4 5 6 7 8 9 A B C D E F Équivalence en décimal N 6 = a n a n- a, a - a -m Poids fort Poids faible N = a n.6 n + a n-.6 n- + + a.6 + a -.6 - + + 6 -m.2 -m 22 - -
Les principaux systèmes pondérés Le code DCBN (Décimal Codé Binaire Naturel) Pourquoi? Ressemblance avec le système décimal Facilite la conversion Représentation 2 symboles différents noté, Représentation en Base 2 ou binaire Équivalence en décimal N = 78 N BCDN = 7 8 Donnez l équivalence de N = 295 22 - -
Les Systèmes de Numération Les principaux systèmes pondérés Transcodage d un système de base B vers le système décimal Transcodage binaire vers la base 2 N et base 2 N vers binaire Arithmétique binaire Représentation binaire des nombres décimaux relatifs 22-2 -
Transcodage d une base B vers la base Il suffit de calculer en base la somme totale des puissances pondérées de la base B. Base 2 2 =.2 5 +.2 4 +.2 3 +.2 2 +.2 +.2 = 37 Base 8 723 8 Base 6 A3D 6 Dans le cas du code BCDN, il suffit de retranscrire les bits par blocs de 4, en partant du bit de poids faible, dans l équivalent décimal Code BCDN BCDN 22-3 -
Transcodage Décimal vers une base B Règle générale du transcodage décimal base B () Méthode par soustractions successives Cette méthode utilise le développement polynomial Algorithme N = n B ai bi i= m Dresser une table donnant les valeurs des différentes puissances de la base B dans laquelle on convertit le nombre décimal Au nombre décimal donné, retrancher la plus grande puissance de B possible Répéter le processus à partir des restes obtenus Remarque Cette méthode ne s applique qu aux nombres entiers 22-4 -
Transcodage Décimal vers une base B Règle générale du transcodage décimal base B (2) Exemple: convertir 678 en octal Table 2 3 4 5 22 i 8 i 8 64 52 496 32768 678 496 2622 52 2 52 598 52 86 52 574 52 62 8 7 6 6 8 4 8 3 8 3 8 3 8 3 8 3 7 8 6 8-5 -
Transcodage Décimal vers une base B Règle générale du transcodage décimal base B (3) Méthode par divisions (ou multiplications) Méthode plus simple, plus rapide Convient aux nombres entiers et fractionnaires Tout nombre N, à priori non entier, sera converti en considérant: D une part sa partie entière, à laquelle on appliquera la méthode des divisions successives D autre part sa partie fractionnaire, à laquelle on appliquera la méthode des multiplications successives 22-6 -
Transcodage Décimal vers une base B Règle générale du transcodage décimal base B (4) Conversion de la partie entière Diviser le nombre à convertir par la base du nouveau système Conserver le reste Répéter le processus à partir du nouveau quotient obtenu Arrêter si le quotient est nul Écrire les restes à partir du dernier et de gauche à droite pour obtenir le nombre en base B Exemple: convertir 358 en base 8 Poids faibles 358 6 8 44 4 8 5 8 5 Poids forts 22-7 -
Transcodage Décimal vers une base B Règle générale du transcodage décimal base B (5) Autres exemples Convertir 254 base vers base 2 (b=2) base vers base 6 (b=6) 254 2 27 2 63 2 poids faibles 3 2 5 2 poids forts 7 2 3 2 254 6 22-8 -
Transcodage Décimal vers une base B Règle générale du transcodage décimal base B (6) Conversion de la partie fractionnaire Multiplier le nombre à convertir par la base du nouveau système Soustraire et conserver sa partie entière Répéter le processus à partir de la nouvelle partie fractionnaire Arrêter quand la précision désirée est atteinte Exemple: convertir,732 en base 8,732 8 = 5,856 5,856 8 = 6,848 6,848 8 = 6,784 6,732 =,56662 8,784 8 = 6,272 6 Problème de format!! 22-9 -
Les Systèmes de Numération Les principaux systèmes pondérés Transcodage d un système de base B vers le système décimal Transcodage binaire vers la base 2 N et base 2 N vers binaire Arithmétique binaire Représentation binaire des nombres décimaux relatifs 22-2 -
22 Transcodage Binaire base 2 n et vice-versa L Octal (Base 8) Binaire vers Octal Algorithme Grouper les bits par blocs de 3 à partir du bit de poids faibles Convertir ensuite directement ces blocs en octal Exemple Binaire Octal Octal vers Binaire Algorithme Traduire chaque chiffre du nombre en base 8 en nombre de 3 bits en base 2 Exemple Octal Binaire, 6 2 7 4 3 3,,, 7 5 4 Groupement par 3 bits Codage sur 3 bits - 2 -
2 3 4 5 6 7 8 9 A B C D E F Table 22 Transcodage Binaire base 2 n et vice-versa L hexadécimal (Base 6) Binaire vers Hexadécimal Algorithme Grouper les bits par blocs de 4 à partir du bit de poids faibles Convertir ensuite directement ces blocs en hexadécimal Exemple Binaire Hexadécimal Hexadécimal vers Binaire Algorithme Traduire chaque chiffre du nombre en base 6 en nombre de 4 bits en base 2 Exemple, B Hexadécimal C Binaire, B 7, A, 7 Groupement par 4 bits Codage sur 4 bits - 22 -
Transcodage Base i Base j Cas Particulier de 2 bases quelconques Les bases i et j sont toutes les deux des puissances de 2. On utilise alors la base 2 comme base relais Base i Base 2 Base j Les bases i et j ne sont pas toutes les deux des puissances de 2. On utilise alors la base comme base relais Base i Base Base j 22-23 -
Les Systèmes de Numération Les principaux systèmes pondérés Transcodage d un système de base B vers le système décimal Transcodage binaire vers la base 2 N et base 2 N vers binaire Arithmétique binaire Représentation binaire des nombres décimaux relatifs 22-24 -
- 25-22 Arithmétique Binaire L Addition Table Table + = + = + = + = et je retiens (ou retenue ) + Exemple Exemple + Exercice Exercice + +
Arithmétique Binaire La Multiplication Table Exemple = = = = = tout à = recopie + décalage + sommation Exercice 22-26 -
Arithmétique Binaire La Soustraction Table - = - = et j emprunte - = - = - Exemple - Exercice - 22-27 -
Arithmétique Binaire La Division () Table : = impossible! : = : = impossible! : = Exemple, -, - - - 22-28 -
Arithmétique Binaire La Division (2) Exercice - Rappel - = - = et j emprunte - = - = 22-29 -
Les Systèmes de Numération Les principaux systèmes pondérés Transcodage d un système de base B vers le système décimal Transcodage binaire vers la base 2 N et base 2 N vers binaire Arithmétique binaire Représentation binaire des nombres décimaux relatifs 22-3 -
Représentation bin. des décimaux relatifs Grandeur des nombres les physiciens affirment qu il y a 78 électrons dans l univers. Combien de chiffres faut-il pour représenter un nombre? 79 chiffres Représentation avec un nombre fini de chiffres qui dépend du format. 2 => 2 sur 8 bits dépend de la précision de l ordinateur, de la capacité mémoire 22-3 -
Représentation bin. des décimaux relatifs Grandeur des nombres - Exemple Ensemble des entiers positifs avec 3 chiffres décimaux ( éléments),, 2, 3,, 999 Impossible à représenter - les nombres supérieurs à 999 - les nombres négatifs - les nombres fractionnaires - les nombres irrationnels - les nombres complexes Fermeture au regard des opérations 6 + 6 = 2 (trop grand) 3 5 = -2 (négatif) 7 / 2 = 3,5 (n est pas un entier) Algèbre des nombres a = 7, b = 4, c = 3 a + (b c) 7 + 8 = (a + b) c - 3 dépassement 22-32 -
Représentation des décimaux relatifs Les nombres entiers signés - Exemple sur 8 bits () Valeur absolue et signée Principe + 4-4 Complément à ou Complément restreint Principe + 4-4 inversion des bits Limites Limites + 27 + - - 27 + 27 + - - 27 22-33 -
Représentation des décimaux relatifs Les nombres entiers signés - Exemple sur 8 bits (2) Complément à 2 ou Complément vrai Principe + 4-4 22 comp. à + + 4-4 Complément à Excédent 2 m (m = 7) Principe premier en partant des poids faibles inversion des bits suivants + 4 complément à 2 + (2 7 ) - 4 Limites Limites + 27 + - - 28 + 27 + - - 28 Intérêt : simplifie toutes les opérations ou les comparaisons (qui se font uniquement sur des nombres positifs). - 34 -
Représentation des décimaux relatifs Les nombres entiers signés - Exercice Représenter le nombre 5 et 5 dans le cas suivants: Valeur absolue et signée Complément à ou Complément restreint Complément à 2 ou Complément vrai Complément à Excédent 2 m (m = 8) 22-35 -
Représentation des décimaux relatifs Nombres àvirgule fixe - Principe nombre à virgule fixe = I + F partie entière partie fractionnaire Convention pour un nombre N Registre N de n bits (n = i + f) Format partie I (i bits) partie F (f bits) 22-36 -
Représentation des décimaux relatifs Nombres àvirgule fixe - Exemple Représentation de N = 47/64 =,734375 dans un registre de 9 bits avec i=6 et f=3 Conversion en binaire,734375 2 =,46875,46875 2 =,9375,9375 2 =,875,875 2 =,75,75 2 =,5,5 2 =, N =, N = i = 6 f = 3 Attention! L équivalent décimal du registre est.2 - +.2-3 =,625 Il y a une perte de précision du fait de la troncature au 3 ème bit. 22-37 -
Représentation des décimaux relatifs Nombres à virgule flottante Principe () mantisse nombre flottant = f x e exposant Exemples 3,4, 94 22-38 -
Représentation des décimaux relatifs Nombres à virgule flottante Principe (2) Exemple mantisse signée de 3 chiffres dans l intervalle, f < ou zéro exposant signé de 2 chiffres Intervalle = +, x -99 à +,999 x +99 Débordement supérieur négatif Nombres négatifs exprimables Débordement inférieur négatif Débordement inférieur positif Nombres positifs exprimables Débordement supérieur positif -,999 x 99 -, x -99, x -99,999 x 99 22-39 -
Représentation des décimaux relatifs Nombres à virgule flottante Norme IEEE 754 () Format Nombre Flottant = ±,Mantisse x 2 exposant Nombre Flottant = ±,Mantisse x 2 exposant signe bit = : signe + bit = : signe - exposant Mantisse simple précision (32 bits) bit 8 bits 23 bits double précision (64 bits) bit bits 52 bits précision étendue (8 bits) bit 5 bits 64 bits Codage de l exposant exposant maximum / 2 22 exposant codé = exposant réel + excédent exposant minimum = - (excédent - ) exposant maximum = excédent - 4 -
Représentation des décimaux relatifs Nombres à virgule flottante Norme IEEE 754 (2) Limites Information Bit de signe Bit d exposant Bit de mantisse Nombre total de bits Codage de l exposant Variation de l exposant Plus petit nombre normalisé Plus grand nombre normalisé Échelle des nombres décimaux Plus petit nombre dénormalisé Simple précision 8 23 32 Excédant 27-26 à +27 2-26 2 +28-38 à +38-45 Double précision 52 64 Excédant 23-22 à +23 2-22 2 +24-38 à +38-324 22-4 -
Représentation des décimaux relatifs Nombres à virgule flottante Norme IEEE 754 (3) Normalisé (, ) + / - < exposant < max Configuration quelconque de bits Dénormalisé (nombre inférieur au plus petit nombre flottant normalisé :, ) + / - Toute configuration sauf tous les bits à Zéro + / - Infini Cas Particuliers + / - NaN (Not a Number,, Nombre infini / Nombre infini) + / - Toute configuration sauf tous les bits à 22-42 -
Exemple Représentation des décimaux relatifs Nombres à virgule flottante Norme IEEE 754 (4) Exemples (Simple Précision) -,5 () -, (2) x 2 -, (2) x 2 - exposant = 27 + ( ) = 26 () exposant = (2) signe négatif : bit à mantisse = 2 = BF 6 Exemple 2,5 () 22-43 -
Problèmes liés à la longueur des nombres Les circuits traitant des nombres de n bits (y compris le bit de signe) peuvent manipuler tous les nombres compris entre 2 n- et 2 n- -. Exemple N = 8 entraîne un intervalle allant de 28 à +27 Il faut alors que les résultats partiels ou définitifs ne sortent pas de cet intervalle. Cas de l addition Une retenue peut apparaître (CARRY) Un dépassement de capacité est aussi possible (OVERFLOW) 22-44 -
Problèmes liés à la longueur des nombres - Exemples 2 nombres positifs + 49 33 82 JUSTE + Addition sur 8 bits (-28( à +27) + 2 nombres négatifs -32 + -3-63 JUSTE + 82 Retenu perdue -63 + 49 88 37 FAUX Dépassement -32 + -27-59 FAUX Dépassement + + - +9 +97 Complément à 2 22-45 -