




























































































Étudies grâce aux nombreuses ressources disponibles sur Docsity
Gagnz des points en aidant d'autres étudiants ou achete-les avec un plan Premium
Prépare tes examens
Étudies grâce aux nombreuses ressources disponibles sur Docsity
Obtiens des points à télécharger
Gagnz des points en aidant d'autres étudiants ou achete-les avec un plan Premium
Communauté
Demandes de l'aide à la communauté et dissipes tes doutes concernant l'étude
Guide gratuite
Télécharges gratuitement nos guides sur les techniques d'étude, les méthodes de gestion de l'anxiété, les conseils pour la thèse réalisés par les tuteurs Docsity
la logique mixte compléter la simplification des fonctions logiques méthode de Quine/McCluskey diagrammes de Venn, Johnston et Caroll.
Typologie: Notes
1 / 141
Cette page n'est pas visible dans l'aperçu
Ne manques pas les parties importantes!





























































































Chapitre : Notes sur cet ouvrage
ü^ CIRC
Les descriptions bibliographiques/historiques présentes dans les entêtes de cha- pitres sont composée en DayRoman.
L’extrait du texte de Blaife Pafcal du chapitre II eft également compofé danf la police DayRoman, maif dotée – notament – de la ligature c et du S long (f ).
4 © M. Siadat & C. Diou
mChapitre In
Les systèmes de numération
Gottfried Wilhelm von Leibnitz b jui. 1646, Allemagne † 1716
Ce philosophe d’origine Allemande est l’inventeur d’une machine permettant de calculer directement les 4 opérations de base. Il est aussi celui qui a introduit la notion de binaire en Occident.
Si nous manipulons les nombres de manière intuitive, c’est la plupart du temps dans la base décimale, naturelle et universelle. Mais cela ne doit pas masquer la nature même de la numération qui peut prendre plusieurs formes, parmi lesquelles on trouve la théorie des ensembles et la représentation polynomiale.
La représentation polynomiale d’un nombre est sa représentation sous la forme sui- vante :
an − 1 bn −^1 an − 2 bn −^2 an − 3 bn −^3 · · · a 2 b^2 a 1 b a 0 a − 1 b −^1 a − 2 b −^2 · · · a − mb − m
où b est appelée la base.
Si la base 10 nous est familière, d’autres bases existent et les bases les plus utilisées en informatique sont les bases 10, 2, 8 et 16 appelées respectivement « décimale », « binaire », « octale » et « hexadécimale ».
B
Si la base 10 nous est familière, d’autres bases existent et les bases les plus utili- sées en informatique sont les bases 10, 2, 8 et 16 appelées respectivement « dé- cimale », « binaire », « octale » et « hexadécimale ».
7
Chapitre I : Les systèmes de numération
Le système décimal est malheureusement difficile à adapter aux mécanismes nu- mériques, car il est difficile de concevoir du matériel électronique fonctionnant sur dix plages de tensions différentes.
On lui préférera donc le système binaire :
B Exemple 1.
On présente les nombres binaires en général avec un nombre fixe de bits, nombre imposé par les circuits mémoires utilisés pour représenter ces nombres.
Suite des nombres binaires à 4 bits :
Poids : 23 22 21 20 B 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
8 © M. Siadat & C. Diou
Chapitre I : Les systèmes de numération
B Exemple 1.
( an... a 0 ) B an B − n^ · · · a 0 B^0 ( a ′ m... a ′ 0 ) 10
B Exemple 1.
I.5.2.a Première méthode
Elle consiste à soustraire successivement la plus grande puissance de B
B Exemple 1.
I.5.2.b Deuxième méthode
Elle consiste à diviser par B autant de fois que cela est nécessaire pour obtenir un quotient nul. Ensuite on écrit les restes dans l’ordre inverse de celui dans lequel ils ont été obtenus.
Pour la partie fractionnaire on multiplie par B (résultat nul ou selon la précision demandée)
B Exemple 1.
10 © M. Siadat & C. Diou
I.5. Conversion d’un système de numération à un autre
Chaque symbole de la base B 2 n^ peut être représenté par n e.b.
B Exemple 1.
© M. Siadat & C. Diou 11
mChapitre IIn
Codage des nombres dans les machines numériques
Blaise Pascal b 19 juin 1623, Clermont, France † 19 août 1662, Paris, France
« Ami leceur, cet avertiffement fervira pour te faire favoir que j’expofe au public une petite machine de mon invention, par le moyen de laquelle feul tu pourraf, fanf peine quelconque, faire toutef lef opérationf de l’arithmétique, et te foulager du travail qui t’a fouvent fatigué l’efprit, lorfque tu af opéré par le jeton ou par la plume : je puif, fanf préfomption, efpérer qu’elle ne te déplaira paf, aprèf que Monfeigneur le Chancelier l’a honorée de fon eftime, et que, danf Parif, ceux qui font lef mieux verféf aux mathématiquef ne l’ont paf jugée indigne de leur approbation. Néanmoinf, pour ne paf paraître négligent à lui faire acquérir auffi la tienne, j’ai cru être obligé de t’éclairer fur toutef lef diHcultéf que j’ai eftiméef capablef de choquer ton fenf lorfque tu prendraf la peine de la confidérer. » (Blaife Pafcal, Avif néceffaire à ceux qui auront curiofité de voir la machine d’arithmétique, et de f’en fervir, 1645).
Les systèmes logiques sont constitués de mécanismes qui ne permettent de noter que 2 états : « 0 » ou « 1 ». Une mémoire élémentaire est donc une unité contenant « 0 » ou « 1 ». Plusieurs de ces unités sont assemblées pour représenter un nombre binaire.
B Exemple 2.
valeur en bits
2 2 2 2 2 2 2 2
7 6 5 4 3 2 1 0 ordre d’écriture ordre de lecture
Ces mémoires sont indissociables et l’ordre d’assemblage donne le poids de chaque bit.
13
Chapitre II : Codage des nombres dans les machines numériques
Les nombres sont représentés en binaire sur n bits : n = nombre d’unités mémoires ( n 8 , 16 , 32 , 64 ,.. .)
On peut représenter des nombres allant de 0 à 2 n^ − 1.
Traditionnellement on met un signe « − » pour représenter les nombres négatifs. Mais les systèmes logiques ne permettent de présenter qu’un des deux symboles « 0 » et « 1 », il faut chercher une convention pour remplacer le « − ».
Solution la plus simple : on ajoute un e.b. à gauche du module pour le signe. Ainsi, un nombre commençant par un « 0 » sera positif, alors qu’un nombre commençant par un « 1 » sera négatif : { 0 ↔ 1 ↔ −
B Exemple 2.
Problème : on a ici deux représentations différentes pour le zéro : ’00...0’ et ’10...0’.
14 © M. Siadat & C. Diou
Chapitre II : Codage des nombres dans les machines numériques
B Exemple 2.
- nb ≥ 0 → bit de signe 0 nb 0 → bit de signe 1 - pour représenter un nombre positif sur une mémoire de taille donnée, on complète les cases vides de gauche par des 0 ; pour représenter un nombre négatif sur une mémoire de taille donnée, on complète les cases vides de gauche par des 1 ;
B Exemple 2.
Les nombres x sont représentés par 2 n −^1 x.
On constate ici que le bit de signe est inversé par rapport aux représentations précé- dentes : ce code est en fait identique au codage en complément à 2 avec le bit de signe complémenté.
On calcul l’inverse d’un nombre en relatif à 2 n −^1 comme en complément à 2 en complémentant le nombre puis en ajoutant 1.
Dans un calculateur, un nombre est toujours écrit sous forme d’1 bloc de n e.b. (considéré comme un entier N ).
Pour représenter les nombres fractionnaires il est nécessaire de définir la position de la virgule : pour ce faire, il existe deux méthodes.
On décide que la virgule est toujours à une position donnée (un entier peut être représentatif d’un nombre fractionnaire si on connaît la place de la virgule).
B Exemple 2.
16 © M. Siadat & C. Diou
II.3. Représentation des nombres réels dans un calculateur
Inconvénient de la méthode :
B Exemple 2.
II.3.2.a Introduction [WWW01]
Il arrive dans de nombreux domaines que l’intervalle des valeurs numériques per- tinentes soit particulièrement étendu. L’astronomie en est un exemple extrême puisque certains calculs peuvent faire intervenir simultanément la masse du soleil (2. 1030 kg) et la masse de l’électron (9. 10 −^31 kg). Ces deux nombres diffèrent de plus de 60 ordres de grandeur (10^60 )!
Des calculs faisant intervenir ces nombres pourraient s’effectuer en précision mul- tiple, avec par exemple des nombres de 62 digits. Tous les opérandes et tous les résultats seraient représentés par des nombres de 62 digits. Cependant, la masse du soleil n’est connue qu’avec une précision de 5 digits, et il n’y a en physique pratiquement aucune mesure que l’on puisse réaliser avec une précision de 62 digits. Une solution serait alors d’effectuer les calculs avec une précision de 62 digits et de laisser tomber 50 ou 60 d’entre eux avant d’annoncer les résultats, mais ceci est coûteux à la fois en espace mé- moire et en temps de calcul.
En fait, ce qu’il faut est un système permettant de représenter des nombres, tel que la taille de l’intervalle des nombres "exprimables" soit indépendante du nombre de digits significatifs.
II.3.2.b Principe de la représentation en virgule flottante
Le nombre N est représenté sous la forme :
exposant mantisse
© M. Siadat & C. Diou 17
II.3. Représentation des nombres réels dans un calculateur
I Remarque 2.
Les ordinateurs utilisent cette représentation avec 32 bits pour la mantisse et 8 bits pour l’exposant. En général, on utilise la représentation inverse, avec le bit le plus à gauche = 1, soit une mantisse normalisée ⇒ 0 , 5 ≤ M 1
II.3.3.a Présentation
Le standard IEEE 754 définit trois formats : les nombres en simple précision sur 32 bits, les nombres en double précision sur 64 bits, et les nombres en représentation intermédiaire sur 80 bits. La représentation sur 80 bits est principalement utilisée en interne par les processeurs pour minimiser les erreurs d’arrondi.
Un nombre N de 32 bits est représenté sous la forme :
s exposant mantisse
où le signe « s » est codé sur 1 bit, l’exposant est codé sur 8 bits en code relatif à 127 ( cf. §II.2.4 page 16), et la mantisse sur 23 bits.
Un nombre de 64 bits (double précision) utilise la même représentation à ceci près que la taille de l’exposant est portée à 11 bits en code relatif à 1023, et celle de la mantisse à 52 bits.
Une mantisse normalisée commence toujours par un bit 1, suivi par la virgule, puis par le reste de la mantisse. Le bit initial, toujours présent et toujours à 1 dans une man- tisse normalisée est implicite et non représenté. La valeur de la mantisse est appelée « significande » ; le significande a donc une valeur implicite 1 ≤ x 2.
B Exemple 2.
© M. Siadat & C. Diou 19
Chapitre II : Codage des nombres dans les machines numériques
II.3.3.b Nombres spéciaux
En arithmétique à virgule flottante on peut obtenir un résultat valable, ou alors ren- contrer un problème de dépassement par valeur supérieure ( overflow ) lorsque le résultat est trop grand pour pouvoir être représenté, ou par valeur inférieure ( underflow ) lorsque le résultat est trop petit.
Dépassement par valeur inférieure
Cette situation arrive lorsqu’un résultat est trop petit pour pouvoir être représenté. Le standard IEEE 754 résout partiellement le problème en autorisant dans ce cas une représentation dénormalisée. Une représentation dénormalisée est caractérisée par le fait d’avoir un code d’exposant complètement nul, ce qui est interprété comme une indication du fait que le bit de poids fort de la mantisse, implicite, est cette fois à 0 au lieu d’être à
Cependant, il faut remarquer que plus le nombre représenté est petit, moins sa man- tisse comportera de bits significatifs. Ce schéma permet une approche « douce » du phénomène de dépassement par valeur inférieure, en sacrifiant la précision lorsqu’un résultat est trop petit pour admettre une représentation normalisée.
Zéro
Zéro est représenté sous la forme d’un nombre dénormalisé. Ceci résulte en deux représentations possibles pour zéro : l’une pour 0, l’autre pour −0. Ces représentations sont caractérisées par un bit de signe suivi par 31 zéros.
Dépassement par valeurs supérieures
Le dépassement par valeurs supérieures ne peut pas être traité comme le dépasse- ment par valeurs inférieures, et est indiqué par un code d’exposant dont tous les bits sont à 1, suivi par une mantisse dont tous les bits sont à 0. Ceci est interprété comme représentant l’infini. L’infini peut être positif ou négatif, en fonction de la valeur du bit de signe. L’infini peut être utilisé dans les calculs et les résultats correspondent au sens commun : ∞ ∞ ∞ ; x /∞ 0 ; x / 0 ∞.
20 © M. Siadat & C. Diou