Représentation des nombres réels 18/09/2016

Documents pareils
Codage d information. Codage d information : -Définition-

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Chapitre 10 Arithmétique réelle

Logiciel de Base. I. Représentation des nombres

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

1 Introduction au codage

IFT2880 Organisation des ordinateurs et systèmes

Algorithme. Table des matières

Représentation des Nombres

Conversion d un entier. Méthode par soustraction

Informatique Générale

Représentation d un entier en base b

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Architecture de l ordinateur

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Les opérations binaires

Jeux de caracte res et encodage (par Michel Michaud 2014)

Représentation d un nombre en machine, erreurs d arrondis

Bases de programmation. Cours 5. Structurer les données

Une version javascript sera disponible directement dans le cours prochainement.

V- Manipulations de nombres en binaire

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Chapitre 1 I:\ Soyez courageux!

Le codage informatique

Structure du format BMP, sa lecture, sa construction et son écriture

Conventions d écriture et outils de mise au point

Développement décimal d un réel

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Licence Sciences et Technologies Examen janvier 2010

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

ANALYSE TRAMEs LIAISON SERIE

UE Programmation Impérative Licence 2ème Année


CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

CHRONIQUE de la société royale LE VIEUX-LIÈGE

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Cours Informatique 1. Monsieur SADOUNI Salheddine

Créer une base de données

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Rappels Entrées -Sorties

Introduction à l algorithmique et à la programmation (Info 2)

Présentation du cours

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

La mémoire. Un ordinateur. L'octet. Le bit

ASR1 TD7 : Un microprocesseur RISC 16 bits

clavier espagnol Figure 1 - deux types de claviers AZERTY ou QWERTY

TP 1 : 1 Calculs en binaire, octal et hexadécimal

Traitement de texte : Quelques rappels de quelques notions de base

Annexe : La Programmation Informatique

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Projet Matlab : un logiciel de cryptage

Glossaire des nombres

Le poids et la taille des fichiers

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

Le multiplexage. Sommaire

TD : Codage des images

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

EBS 204 E C B S. Publication : Novembre 96

Mathématiques appliquées à l informatique

Chap17 - CORRECTİON DES EXERCİCES

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

TP 1. Prise en main du langage Python

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques


Compter à Babylone. L écriture des nombres

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Organisation des Ordinateurs

GPA770 Microélectronique appliquée Exercices série A

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

DM 1 : Montre Autoquartz ETA

PRESENTATION DES RECOMMANDATIONS DE VANCOUVER

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Introduction à l'informatique. Vincent Boyer et Jean Méhat

Programmation C. Apprendre à développer des programmes simples dans le langage C

Date : Note /20 : EVALUATION Nom : Prénom : Classe : Traitement sur mots

I- Définitions des signaux.

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

avec des nombres entiers

Microprocesseur + Logiciel

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

Connaissances VDI 1 : Chapitres annexe

Solutions du chapitre 4

TD 1 - Transmission en bande de passe

Comment utiliser sa messagerie laposte.net

EVALUATION Nombres CM1

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.

NOTIONS DE RESEAUX INFORMATIQUES

1 Introduction et installation

Transcription:

1 Représentation des nombres réels 18/09/2016

Représentation des nombres réels Les nombres que nous avons utilisés jusqu alors étaient des nombres entiers positifs ou négatifs. Il est évidemment possible de rencontrer des nombres fractionnaires qu il conviendra de pouvoir coder en binaire. Il existe de nombreuses méthodes pour représenter ces nombres, parmi lesquelles : codage de la partie entière ; codage en virgule fixe ; codage en virgule flottante ; codage au format Qn ; 18/09/2016 2

Représentation des nombres réels Codage de la partie entière Cette méthode consiste à ne coder que la partie entière du nombre réel. Elle n est que très peu utilisée, et fourni des résultats approximatifs. Exemple : 25,375 (25,375) 10 (11001) 2 18/09/2016 3

Représentation des nombres réels 18/09/2016 4

Exemple Cette méthode à l inconvénient d utiliser beaucoup de bits après la virgule si le nombre à coder comporte beaucoup de chiffre après la virgule. 18/09/2016 5

Exercice 18/09/2016 6

18/09/2016 7 Nombres binaires à virgule fixe N = (00011010110) 2(7,4) = (13.375) 10 N = (0001101,0110) 2 = (13.375) 10 Mot de 11 chiffres avec (n,m)= (7,4) n+m=11 Exemple mots de 3 bits (3,0) (2,1) (1,2) (0,3) (n,m) 010 2 1 0,5 0,25 011 3 1,5 0,75 0,375 100 4 2 1 0,5 101 5 2,5 1,25 0,625 110 6 3 1,5 0,75 111 7 3,5 1,75 0,875

18/09/2016 8 Nombre binaire à virgule flottante Afin de représenter les très grands ou très petits nombres, nous utilisons généralement une méthode assez pratique appelée notation scientifique. Rappel : 125.68 = 1.2568 10 2 En binaire: La norme IEEE 754 normalise cette représentation. Elle distingue 2 représentations, celle en simple précision (sur 32 bits), et celle en double précision (sur 64 bits).

18/09/2016 Nombre binaire à virgule flottante 9 Représentation en simple précision Exposant calage = décalage Exposant = décalage + 2 k-1-1

18/09/2016 10 Nombre binaire à virgule flottante Représentation en simple précision Exemple 1: Traduire en binaire format flottant simple précision 32 bits le nombre : - 1039,0 1) Signe : 1 2) Traduire en binaire (1039) 10 = (0000 0100 0000 1111) 2 3) Constituez la mantisse : 1, mantisse 2 n 0000 0100 0000 1111 = 1,00 0000 1111 2 10 1 0 0 0 0 0 0 1 1 1 1 (décalage de dix chiffres vers la droite après la virgule )

18/09/2016 11 Nombre binaire à virgule flottante Représentation en simple précision 4) Constituez le calage IEEE en simple précision 8 bits : 2 8-1 - 1 = 127 5) Constituez l'exposant : 0000 0100 0000 1111 = 1,00 0000 1111 2 10 exposant = 10 + calage = 10 +127= 137 4) Exprimer l'exposant en binaire (137) 10 = (1000 1001) 2 5) Etendre la partie fractionnaire à 23 bits mantisse sur 23 bits = 000 0001 1110 0000 0000 0000 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 (- 1039,0) 10 = (1100 0100 1000 0001 1110 0000 0000 0000) 2 En hexadecimal C4 81 E0 00

Nombre binaire à virgule flottante La norme IEEE définit la façon de coder un nombre réel: la forme 1,xxxxx... 2 n (dans notre exemple 1,0101 2 2 ). Cette norme se propose de coder le nombre sur 32 bits et définit trois composantes : le signe est représenté par un seul bit, le bit de poids fort (celui le plus à gauche) l'exposant est codé sur les 8 bits consécutifs au signe la mantisse (les bits situés après la virgule) sur les 23 bits restants Ainsi le codage se fait sous la forme suivante : seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm 18/09/2016 12

Nombre binaire à virgule : Règles Certaines conditions sont toutefois à respecter pour les exposants : l'exposant 00000000 est interdit l'exposant 11111111 est interdit. On s'en sert toutefois pour signaler des erreurs, on appelle alors cette configuration du nombre NaN, ce qui signifie Not a Number Il faut rajouter 127 (01111111) à l'exposant pour une conversion de décimal vers un nombre réel binaire. Les exposants peuvent ainsi aller de -254 à 255 18/09/2016 13

18/09/2016 14 Nombre binaire à virgule flottante Représentation en double précision (64 bits) On utilise la même méthode que pour le codage en simple précision, sauf que l exposant est codé sur 11 bits et la mantisse sur 52 bits. exposant codé = exposant réel + excédent

18/09/2016 Nombre binaire à virgule flottante 15 Limites

Nombre binaire à virgule : Exemple Soit à coder en simple précision la valeur 525,5. 525,5 est positif (-1) 0 donc le 1er bit sera s = 0. Sa représentation en base 2 est la suivante : 1000001101,1 En normalisant, on trouve : 1,0000011011 2 9 On ajoute 127 à l'exposant 9 ce qui donne 136, soit en base 2 : eeeeeeee = 10001000 La mantisse est composée de la partie décimale de 525,5 en base 2 normalisée, c'est-à-dire 0000011011. Comme la mantisse doit occuper 23 bits, il est nécessaire d'ajouter des zéros pour la compléter : 00000110110000000000000 La représentation du nombre 525,5 en binaire avec la norme IEEE est donc : 0 1000 1000 00000110110000000000000 0100 0100 0000 0011 0110 0000 0000 0000 (4403600 en hexadécimal) 18/09/2016 16

Exemple 2 Ecrire la valeur -0,625 en simple précision avec le format IEEE754 Le bit s vaut 1 car 0,625 est négatif 0,625 s'écrit en base 2 de la façon suivante : 0,101 On l écrit sous la forme normalisée 1.01 x 2-1 Par conséquent l exposant E = 127-1 E= 126 (soit 1111110 en binaire) la mantisse est 01000000000000000000000 La représentation du nombre 0,625 en binaire avec la norme IEEE est : 1 1111 1110 01000000000000000000000 1111 1111 0010 0000 0000 0000 0000 0000 binaire 15 15 2 0 0 0 0 0 décimal (FF 20 00 00 en hexadécimal) 18/09/2016 17

Représentation des nombres réels : norme IEEE On veut coder le nombre 6,625 en simple précision avec le format IEEE 6,625 vaut 110,1010 en binaire. On décale la virgule vers la gauche pour déterminer le bon exposant : 110,1010 = 1,101010.2 2 S=0 (car le nombre est positif) EXPOSANT=2+127=129=10000001 en binaire (ici on a un biais de 127) MANTISSE= on garde la partie droite de la virgule et on complète avec des 0 pour obtenir 23 bits, donc 10101000000000000000000. Finalement on obtient 6,625 codé avec le formalisme IEEE754 single précision : 18/09/2016 18

Représentation des nombres réels : norme IEEE Soit à codifier en simple précision le nombre 3,25. On va normaliser la représentation en base 2 de telle sorte qu elle s écrive sous la forme 1, x 2 n Dans notre exemple 11, 01 = 1, 101 x 2 1 La représentation IEEE code séparément le signe du nombre (ici +), l exposant n (ici 1), et la mantisse (la suite de bits après la virgule), le tout sur 32 bits. Le codage a la forme : s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmm. signe exposant mantisse 3,125 0100000001010000000000000000000000 18/09/2016 19

18/09/2016 20 Représentation des caractères: code ASCII Les caractères sont des données non numériques symboles alphanumériques, incluent les lettres majuscules et minuscules, les symboles de ponctuation (& ~,. ; # " - etc...), les chiffres. Un texte, ou chaîne de caractères, sera représenté comme une suite de caractères. Le codage des caractères est fait par une table de correspondance indiquant la configuration binaire représentant chaque caractère. Le code ASCII (American Standard Code for Information Interchange)

18/09/2016 Représentation des caractères: Code ASCII 21 Le code ASCII représente chaque caractère sur 7 bits A chaque caractère est associé une configuration de 8 chiffres binaires (1 octet), le chiffre de poids fort (le plus à gauche) étant toujours égal à zéro.

18/09/2016 Représentation des caractères: Remarques 22 Plusieurs points importants à propos du code ASCII : Les codes compris entre 0 et 31 ne représentent pas des caractères, ils ne sont pas affichables. Les lettres se suivent dans l ordre alphabétique (codes 65 à 90 pour les majuscules, 97 à 122 pour les minuscules. On passe des majuscules minuscules en modifiant le 5 ème bit, ce qui revient à ajouter 97-65= 32 au code ASCII décimal (32: 0010000) G (71) 01000111 g (103) 01010111

18/09/2016 Représentation des caractères - chiffres 23 Les chiffres sont rangés dans l ordre croissant (codes 48 à 57), et les 4 bits de poids faibles définissent la valeur en binaire du chiffre.

18/09/2016 Représentation des caractères - chiffres 24