Chapitre 4 La représentation des nombres.

Slides:



Advertisements
Présentations similaires
Architecture de machines Codage des informations
Advertisements

Le codage de l ’information
Architecture des Ordinateurs
INTRODUCTION.
8. Les tableaux P. Costamagna – ISEN N1.
Présentation Unité de codage
CHAPITRE 3 Calcul numérique et puissances
Le binaire L’historique.
Le codage des nombres en informatique
L’ordinateur Aspect théorique
Représentation numérique de l’information
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Le cours de F6KGL présenté par F6GPX
Fonction puissance Montage préparé par : André Ross
Nature, numération, code
Le Langage Binaire.
Et l'énergie dans tout çà ….
B.Shishedjiev - Informatique
Le codage des nombres en informatique
LES NOMBRES Articulation CM2-SIXIÈME
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Cours de 3ème SAGE P Module1 Révisions Calculs numériques.
IFT Complexité et NP-complétude
Informatique, Ordinateur & Programme ...
Codage des nombres réels avec la norme IEEE-754
INTRODUCTION.
Cohen Julien Neville gabriel
Cohen Julien Neville gabriel
Le codage des nombres en informatique
L’écriture des grands nombres: les puissances de 10
Un survol du language C.
Codage des nombres en informatique : le système binaire.
Programmation linéaire en nombres entiers
REPRESENTATION DE L’INFORMATION
Représentation des entiers
SIO SI2 : Support Réseau des Accès Utilisateurs
Le codage des nombres en informatique
Addition – Soustraction - Multiplication
1 INFOR 101 Chapitre 4 Marianne Morris. 2 Révision de chapitre 3 Algorithmes Sequential Search Selection Sort Binary Search Ordre de magnitude  (n) Mesurer.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. tél Fax Cours Architecture des.
Cours LCS N°4 Présenté par Mr: LALLALI
Chapitre 1 Nombres relatifs.
Introduction aux systèmes numériques
Acquis ceinture blanche
Langage Binaire Introduction.
Patricia Renault UPMC 2004/2005
Introduction à la programmation (420-PK2-SL) cours 1
Codage de l’information
Soit n un nombre entier supérieur ou égal à 1.
Cours d’initiation en Informatique
Philippe Gandy - 1 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
©Pierre Marchand, Unité 2: Représentation interne des informations Objectifs: À la fin de cette unité, -vous saurez comment les caractères et les.
Chapitre 4b La représentation des nombres.
Chapitre 3 La numération octale et hexadécimale.
Objets et Actions Élémentaires.
Les fractions
Les nombres à virgule flottante
CHAPITRE 5 Les nombres entiers 1. Les entiers 2 Les entiers signés représentations pour le 0.
Introduction au langage C
La NUMERISATION de l’information
A. Lebrun. La base 2 Un nombre peut se représenter en base deux par une suite de 0 ou de 1. Chaque bit a un poids qui dépend de son rang Le format n impose.
Le codage des nombres en informatique
Département Informatique Codage de l’information Laurent JEANPIERRE IUT de CAEN – Campus 3.
Chapitre 4 la représentation des nombres. Chapitre 4 : La représentation des nombres 1 - Introduction 1.1 – Notion de mot 2 - La représentation des entiers.
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
Codification et représentation de l’information Enseignant: Mahseur mohammed Groupe FB: mi2016ua1 Chaine YT: Cours informatique.
Transcription de la présentation:

Chapitre 4 La représentation des nombres

Chapitre 4 : La représentation des nombres Introduction 1 - Notion de mot 2 – La représentation des entiers négatifs 2.1 - Entiers signés 2.2 - Représentation en complément 2.2.1 - Complément restreint (à un) 2.2.2 - Complément vrai (à deux) 2.3 - Nombres en forme décimale codée binaire (DCB) 3 – La représentation des nombres fractionnaires 3.1 – Les nombres en virgule fixe 3.1.1 – Du décimal vers une autre base 3.1.2 – D’une base (autre que le décimal) vers le décimal 3.2 – Les nombres en virgule flottante 3.2.1 – Représenter un nombre en virgule flottante 3.2.2 – Retrouver la valeur décimale d’un nombre représenté en virgule flottante

Introduction Les informations que doivent traiter les ordinateurs sont composées de chiffres, de lettres ou de symboles particuliers. Historiquement, le but premier des ordinateurs était de résoudre rapidement des problèmes de calculs complexes et longs. La première forme de représentation étudiée a donc été celle des nombres.

1 – Notion de mot Les systèmes informatiques manipulent des informations binaires et travaillent en général sur une longueur fixe de bits que l’on appelle mot. Suivant la machine, la taille du mot sera différente. Taille classique : 16, 32 ou 64 bits. Exemple : avec un microprocesseur Intel Pentium on utilise des mots de 32 bits.

1 – Notion de mot On rencontre ainsi les notions de demi-mot ou de double-mot. 0000 4 bits Exemple avec un mot de 16 bits Quartet 1 octet = 8 bits Octet (ici, un demi-mot) Mot de 16 bits Double mot ATTENTION Ici un demi-mot fait 8 bits et un mot 16 bits Sur une autre machine, un mot pourra faire 32 bits et un demi-mot 16 bits …

2 – La représentation des entiers négatifs Les nombres observés dans le chapitre 2 étaient des nombres entiers positifs, et dans nos soustractions nous obtenions des résultats positifs. Qu’en est-il des nombres négatifs et, d’une manière plus générale, de la représentation du signe ?

2 – La représentation des entiers négatifs 2.1 - Les entiers signés La solution la plus simple pour représenter le signe consiste à réserver un digit binaire pour ce signe, les autres bits représentants la valeur absolue du nombre. La convention retenue impose de mettre le premier bit (situé le plus à gauche) à : 0 pour repérer un nombre positif 1 pour un nombre négatif. On parle de données signées quand on utilise cette convention. Exemple ( 0 0 0 1 1 0 1 1 )2  (27)10 ( 1 0 0 1 1 0 1 1 )2  (-27)10 Avec cette méthode, on peut représenter sur 8 bits l’intervalle de nombres entiers : [-(27 - 1) , (27 - 1)] soit [-127 , +127] Plus généralement, sur n bits, on aura l’intervalle [-(2n-1 - 1) , (2n-1 - 1)]

2 – La représentation des entiers négatifs 2.1 - Les entiers signés (suite) Inconvénient une telle représentation entraînerait un traitement spécial du signe, et des circuits électroniques différents selon que l’on voudrait réaliser des additions ou des soustractions. 7 + (-5) --------- + 2 0 0 0 0 0 1 1 1 + 1 0 0 0 0 1 0 1 ---------------------- 1 0 0 0 1 1 0 0  Ce résultat est faux ! (-12)10 Solution Usage d’une autre forme de représentation des nombres négatifs dite représentation en complément ou représentation sous forme complémentée.

2 – La représentation des entiers négatifs 2.1 - Les entiers signés (suite) Les règles suivantes sont donc adoptées par la majeure partie des constructeurs. Pour un nombre stocké sur un octet (8 bits), Si le bit de signe a la valeur 0, la donnée est positive. Les valeurs positives sont représentées sous leur forme binaire La valeur zéro est considérée comme une donnée positive Si le bit de signe a la valeur 1, la donnée est négative Les valeurs négatives sont représentées sous leur forme complémentée. 8 7 6 5 4 3 2 1 Signe Représentation du nombre

2 – La représentation des entiers négatifs 2.2 – Représentation en complément Nous trouvons donc 2 façons de représenter les nombres négatifs : - le complément restreint (ou complément à un) - le complément vrai (ou complément à deux)

2 – La représentation des entiers négatifs 2.2 - Représentation en complément 2.2.1 - Complément restreint (ou complément à un) Le complément restreint d’un nombre binaire s’obtient par la simple inversion des valeurs des bits constituant ce nombre (Les bits à 1 passent à 0 et les bits à 0 passent à 1). Ex. : Soit le nombre, 0 0 1 1 0 0 1 0 (codé sur 1 octet) Complément restreint 1 1 0 0 1 1 0 1

2 – La représentation des entiers négatifs 2.2 - Représentation en complément 2.2.1 - Complément restreint (suite) Inconvénient majeur Tout comme les entiers signés, le complément restreint autorise deux représentations distinctes de la valeur zéro - un «zéro positif» (+0) - et un «zéro négatif» (-0) 00000000 11111111 (c1) 00000000 ?

2 – La représentation des entiers négatifs 2.2.2 - Complément vrai (ou complément à 2) Le complément vrai d’un nombre binaire s’obtient en ajoutant 1 au complément restreint obtenu selon la méthode précédemment exposée. Ex. : on veut stocker sur un octet le nombre (-74)10 Nombre en binaire (+74) : 0 1 0 0 1 0 1 0 Complément restreint : 1 0 1 1 0 1 0 1 (c1) + 1 -------------------- Complément vrai : 1 0 1 1 0 1 1 0 Signe Représentation du nombre 1 (-74)10 sera codé (1 0 1 1 0 1 1 0)2 Mais (74)10 sera toujours codé (0 1 0 0 1 0 1 0)2

2 – La représentation des entiers négatifs 2.2.2 - Complément vrai (ou complément à 2) On peut en déduire que sur 8 bits : Le plus grand nombre positif représentable est donc 01111111 ce qui représente 27 – 1 soit 127 Le plus petit négatif est 10000000 qui donne -27 soit -128 Avec cette méthode, on peut représenter sur 8 bits l’intervalle de nombres entiers : [-128 , +127]

2 – La représentation des entiers négatifs 2.2.2 - Complément vrai (ou complément à 2) On a donc sur 8 bits, l’intervalle [-27 , 27 – 1] [ -128 , +127 ] On peut en déduire une formule générale, fonction du nombre de bits : Pour n bits, on pourra coder en complément vrai, les entiers de l’intervalle [-2(n-1) , 2(n-1) - 1] Ex: Pour 16 bits, l’intervalle sera [-2(16-1) , 2(16-1) -1] soit [-32768 , +32767 ]

2 – La représentation des entiers négatifs 2.2.2 - Complément vrai (suite) 1er cas : Pas de débordement, Résultat négatif Ex. (-64) + (16) = (- 48) (-64) : 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 (+64) 1 0 1 1 1 1 1 1 (c1) + 1 -------------------- 1 1 0 0 0 0 0 0 (c2) (16) : + 0 0 0 1 0 0 0 0 ------- -------------------- Résultat négatif le 1er bit est à 1 1 1 0 1 0 0 0 0 |(- 48)| : 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 (c2) - 1 -------------------- 1 1 0 0 1 1 1 1 (c1) 0 0 1 1 0 0 0 0 Valeur absolue de (- 48)

2 – La représentation des entiers négatifs 2.2.2 - Complément vrai (suite) 2ème cas : Débordement, Résultat positif En cas de débordement, on ignore celui-ci. Ex. 64 + (-16) = (+48) (-16) : + 1 1 1 1 0 0 0 0 ------- -------------------- 0 0 0 1 0 0 0 0 (+16) 1 1 1 0 1 1 1 1 (c1) + 1 -------------------- 1 1 1 1 0 0 0 0 (c2) (64) : 0 1 0 0 0 0 0 0 Ignoré : en dehors des 8 bits 1 0 0 1 1 0 0 0 0 (48)10 Résultat positif le 1er bit est à 0

2 – La représentation des entiers négatifs (-64) : 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 (+64) 1 0 1 1 1 1 1 1 (c1) + 1 -------------------- 1 1 0 0 0 0 0 0 (c2) 2.2.2 - Complément vrai (suite) 3ème cas : Débordement, Résultat négatif Ex. (-64) + (-16) = (-80) (-16) : + 1 1 1 1 0 0 0 0 ------- -------------------- 0 0 0 1 0 0 0 0 (+16) 1 1 1 0 1 1 1 1 (c1) + 1 -------------------- 1 1 1 1 0 0 0 0 (c2) 1 1 0 1 1 0 0 0 0 |(-80)| : 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 (c2) - 1 -------------------- 1 0 1 0 1 1 1 1 (c1) 0 1 0 1 0 0 0 0 Valeur absolue de (- 80) Résultat négatif le 1er bit est à 1

2 – La représentation des entiers négatifs 2.2 - Représentation en complément 2.2.2 - Complément vrai (suite) Pour résumer En cas de résultat positif (1er bit à 0), on obtient directement le résultat. En cas de résultat négatif (1er bit à 1), on recherche la valeur absolue du résultat (2 méthodes) : On re complémente à vrai (complément restreint + 1) On « dé complémente » (complément vrai – 1 et inversion des bits) En cas de débordement, on ignore celui-ci en ne le reportant pas.

2 – La représentation des entiers négatifs 2.3 – Nombres en forme décimale codée binaire (DCB) Cette forme de représentation est utilisée pour le stockage des nombres et on le rencontre encore dans des applications développées notamment avec le langage COBOL. Ce type de représentation se prête assez peu aux opérations arithmétiques mais par contre garantit une précision rigoureuse de chacun des chiffres du résultat, ce qui est indispensable dans des applications de comptabilité par exemple.

2 – La représentation des entiers négatifs Principe Le principe est de stocker un nombre décimal en codant chaque chiffre de ce nombre sur un quartet (4 bits). 0  0000 1  0001 2  0010 . 9  1001 Le DCB est connu aussi sous le nom du code 8421, ainsi nommé du fait des puissances de 2 mises en œuvre. 23 22 21 20 8 4 2 1 3 5 6 7 9 Position binaire Chiffre Ex. : (317)10 3 1 7 0011 0001 0111

2 – La représentation des entiers négatifs Il est important de bien comprendre comment se présentent les nombres dans ces divers formats : afin de minimiser la place occupée sur le support de stockage, mais également afin de minimiser la place occupée en mémoire centrale, et donc la rapidité des traitements que l’on fera sur ces données.

3 – La représentation des nombres fractionnaires 3.1 – Les nombres en virgule fixe Un nombre en virgule fixe est une valeur munie ou non d’un signe, enregistrée comme un entier binaire, ou sous une forme dite Décimale Codée Binaire (DCB). Un tel nombre est dit en virgule fixe car le soin de placer la virgule revient au programmeur (on parle de virgule virtuelle). C’est à dire que la virgule n’apparaît pas dans le stockage du nombre mais sera placée par le programmeur dans le programme qui utilise ce nombre.

3 – La représentation des nombres fractionnaires Partie entière  puissances positives de la base du nombre (ex. : puissances de 2 positives (20, 21, 22, …) pour le binaire) Partie décimale  puissances négatives de la base du nombre (ex. : puissances de 2 négatives (2-1, 2-2, 2-3, …) pour le binaire) Le nombre binaire obtenu se présente sous la forme - d’une partie entière située à gauche de la marque décimale,  - et d’une partie fractionnaire située à droite  Ex : (100,01)2 est équivalent à (4,25)10  

3 – La représentation des nombres fractionnaires 3.1 – Du Décimal vers une autre base Principe Il suffit de multiplier la partie fractionnaire par la base, la partie entière ainsi obtenue représentant le poids. La partie fractionnaire restante est à nouveau multipliée par la base, et ainsi de suite jusqu’à ce qu’il n’y ait plus de partie fractionnaire ou que la précision obtenue soit jugée suffisante.

3 – La représentation des nombres fractionnaires 3.1 – Du Décimal vers une autre base Exemple : Du décimal vers le binaire : (0,625)10  (?)2 0,625 x 2 = 1 , 250 Le poids binaire est 1 0,250 x 2 = 0 , 500 Le poids binaire est 0 0,500 x 2 = 1 , 000 Le poids binaire est 1 STOP Résultat (0.625)10 = (0.101)2

3 – La représentation des nombres fractionnaires 3.2 – D’une base (autre que le décimal) vers le décimal Principe Même principe que pour la partie entière SAUF : On utilise les puissances négatives de la base en commençant à Base –1 (ex. : en binaire : 2-1) On parcoure les bits de la gauche vers la droite

3 – La représentation des nombres fractionnaires 3.2 – D’une base (autre que le décimal) vers le décimal Exemple : Du binaire vers le décimal (0.101)2  (?)10 Rappel : POIDS = BASE (RANG-1) Puissance Valeur -1 0,5 -2 0,25 -3 0,125 -4 0,0625 -5 0,03125 -6 0,015625 -7 0,0078125 -8 0,00390625 -9 0,001953125 -10 0,0009765625 1 0 1 RANG 0 -1 -2 POIDS 2-1 2-2 2-3 VALEUR = (1 x 2-1) + (0 x 2-2) + (1 x 2-3) = 0,5 + 0 + 0,125 = (0,625)10