Unité 2: Représentation interne des informations. Unité 2: Représentation interne des informations



Documents pareils
Logiciel de Base. I. Représentation des nombres

Informatique Générale

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

Représentation des Nombres

Architecture de l ordinateur

Les opérations binaires

Conversion d un entier. Méthode par soustraction

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

1 Introduction au codage

Architecture des ordinateurs Introduction à l informatique

Représentation d un entier en base b

IFT2880 Organisation des ordinateurs et systèmes

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

V- Manipulations de nombres en binaire

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

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

Une version javascript sera disponible directement dans le cours prochainement.

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

IV- Comment fonctionne un ordinateur?

Cours Informatique 1. Monsieur SADOUNI Salheddine

Algorithme. Table des matières

Licence Sciences et Technologies Examen janvier 2010

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

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

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

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

Microprocesseur + Logiciel

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

Rappels Entrées -Sorties

Mathématiques appliquées à l informatique

Le codage informatique

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

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

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


Chapitre 1 I:\ Soyez courageux!

avec des nombres entiers

Organisation des Ordinateurs

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

Architecture matérielle des systèmes informatiques

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

Langages et Concepts de Programmation Introduction à la programmation en langage C

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

Programmation assembleur : aperçu

Système binaire. Algèbre booléenne

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

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

a) b)

Chapitre 10 Arithmétique réelle

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


Electronique Numérique

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Glossaire des nombres

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

TO4T Technologie des ordinateurs. Séance 1 Introduction aux technologies des ordinateurs

Compter à Babylone. L écriture des nombres

Introduction à l algorithmique et à la programmation M1102 CM n 3

Les nombres entiers. Durée suggérée: 3 semaines

QUESTION 1 {2 points}

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

Concevoir son microprocesseur

ReadCard Guide Utilisateur

Le chiffre est le signe, le nombre est la valeur.

Rappels d architecture

Initiation à la Programmation en Logique avec SISCtus Prolog

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

OPÉRATIONS SUR LES FRACTIONS

Architecture des ordinateurs

Les chaînes de caractères

IFT1215 Introduction aux systèmes informatiques

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

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

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

LA TYPOGRAPHIE (Norme ISO 31)

Claude Delannoy. 3 e édition C++

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

Programmation en langage C

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

Architecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Calculons avec Albert!

Introduction à l étude des Corps Finis

Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information

Stage d informatique pour l ingénieur

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

Initiation au binaire

TD : Codage des images

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

Transcription:

Objectifs: À la fin de cette unité, - vous saurez comment les caractères et les nombres entiers positifs et négatifs sont représentés dans la mémoire d'un ordinateur. - vous saurez comment on effectue les opérations arithmétiques addition et soustraction avec des entiers binaires. - vous saurez comment effectuer la multiplication et la division binaire Pour y arriver, vous devrez maîtriser les objectifs suivants : - effectuer ces opérations arithmétiques sur des entiers dans n'importe quelle base, en particulier en binaire et en hexadécimal; Pierre Marchand, 200 32 3. Introduction Types d information traitées par l ordinateur : Nombres, instructions, images, séquences d images animées, sons, etc., toujours représentées sous forme binaire. Une information élémentaire correspond donc à un chiffre binaire 0 ou appelé bit. Avantages du binaire : facile à réaliser techniquement à l aide de bistables (systèmes à deux états d équilibre). opérations fondamentales simples à effectuer, sous forme de circuits logiques. Pierre Marchand, 200 33

3. Introduction Types d information traités : instructions et données. Les instructions sont écrites en langage machine et représentent les opérations (e.g. addition, multiplication, etc.) effectuées par l ordinateur. Elles sont composées de plusieurs champs : - Le code de l opération à effectuer (opcode) - Les opérandes impliqués dans l opération. Les données sont les opérandes sur lesquelles portent les opérations. On distingue les données numériques et les données non numériques (e.g. texte). Pierre Marchand, 200 34 Le binaire 0 0 0 00 3 0 32 0 0000 2 0 2 00 63 3 3 0 64 00 0000 4 00 4 0 27 5 0 5 28 000 0000 6 0 6 0000 255 7 7 000 256 0000 0000 8 000 8 000 9 00 9 00 20 000 24 000 Pierre Marchand, 200 35 2

Le binaire En décimal, avec n chiffres, on obtient 0 n combinaisons possibles, i.e. on peut compter de 0 à 0 n -. Exemple : Avec 3 chiffres, on a 0 3 = 000 combinaisons possibles et on peut compter de 000 à 999. En binaire, avec n bits, on obtient 2 n combinaisons possibles, i.e. on peut compter de 0 à 2 n - Exemple : avec 8 bits, on a 2 8 = 256 combinaisons possibles et on peut compter de 00000000 à, i.e. de 0 à 255. Pierre Marchand, 200 36 3.2 Données non numériques ASCII 7 bits ->28 caractères : 26 lettres majuscules A - Z 26 lettres minuscule a - z 0 chiffres 0 à 9 33 caractères de ponctuation sp,! #$%& ()*+,-. /< = >?@ [ ] ^_` { } ~ 33 caractères de contrôle : null, etx, bel, bs, ht, lf, vt, ff, cr,, del Pierre Marchand, 200 37 3

3.2 Données non numériques ASCII étendu Aussi connu sous le nom de ISO- 8859- ou ISO latin. Définit les caractères ASCII 28 à 256 8 bits -> 256 caractères caractères internationaux caractères semi-graphiques Dans les deux cas, les caractères sont représentés dans l ordinateur par un nombre binaire de 8 bits indiquant l indice i.e. la position du caractère dans la table ASCII. Dans le cas de l ASCII simple, le nombre doit être inférieur à 28. Pierre Marchand, 200 38 3.2 Données non numériques Par exemple : A = 65 0 = 000 000 2 B = 66 0 = 000 000... a = 97 0 = 00 00 = 32 0 = 000 0000 0 = 48 0 = 00 0000 = 49 0 = 00 000 2 = 50 0 = 00 000 9 = 57 0 = 00 00 Pierre Marchand, 200 39 4

3.2 Données non numériques Les codes ISO 8859- à 8859- définissent les caractères entre 28 et 255 pour couvrir les besoins de la majorité des pays d Europe. UNICODE 6 bits -> 65 536 caractères Code qui se veut universel et qui contient, en plus de tous les caractères européens, 42 000 caractères asiatiques. Le code ASCII est contenu dans les 28 premiers caractères d UNICODE. UNICODE est supporté par Windows NT, Windows 2000, Java, et certains systèmes UNIX, MacOS > 8.5, etc. Pierre Marchand, 200 40 3.2 Données non numériques ISO/IEC 0646 Deux formats : 6 bits (UCS-2) ou 32 bits (UCS-4) UCS-2 équivalent à UNICODE 2.0 UCS-4 inclut : Caractères musicaux Symboles mathématiques Écritures anciennes telles que les hiéroglyphes. Pierre Marchand, 200 4 5

3.3. Entiers positifs ou nuls Pierre Marchand, 200 42 3.3. Entiers positifs ou nuls Systèmes de numération Représentation pondérée d un nombre N dans une base B : N = a n B n + a n- B n- + + a B + a 0 = où a n = 0,, B- Les bases B les plus usitées sont : B = 0, décimal B = 2, binaire B = 6, hexadécimal B = 8, octal n i=0 a i B i Pierre Marchand, 200 43 6

3.3. Entiers positifs ou nuls Systèmes de numération Représentation pondérée dans une base B Exemples : 542 0 = 0 3 + 5 0 2 + 4 0 + 2 0 0 542 8 = 8 3 + 5 8 2 + 4 8 + 2 8 0 = 866 0 00 2 = 2 4 + 0 2 3 + 2 2 + 2 + 0 2 0 = 22 0 Pierre Marchand, 200 44 3.3. Entiers positifs ou nuls Décimal Binaire Octal Hexadécimal 0 0 0 0 2 0 2 2 3 3 3 4 00 4 4 5 0 5 5 6 0 6 6 7 7 7 8 000 0 8 9 00 9 Pierre Marchand, 200 45 7

3.3. Entiers positifs ou nuls Décimal Binaire Octal Hexadécimal 0 00 2 A 0 3 B 2 00 4 C 3 0 5 D 4 0 6 E 5 7 F 6 0000 20 0 7 000 2 8 000 22 2 9 00 23 3 Pierre Marchand, 200 46 3.3. Entiers positifs ou nuls Remarques 0 B = B quel que soit B : 0 2 = 2, 0 7 = 7, 0 8 = 8, 0 6 = 6 0 Ajouter un 0 à droite (décalage à gauche) = multiplication par B Enlever le chiffre de droite (décalage à droite ) = division entière par B Pierre Marchand, 200 47 8

3.3. Entiers positifs ou nuls Représentation hexadécimale Comme 6 = 2 4, on peut toujours représenter un nombre binaire en regroupant les bits en groupes de 4 et en écrivant la notation hexadécimale 0 - F pour chacun de ces groupes : Exemple : 00 2 = 7CF 6 Pour indiquer qu un nombre est en hexadécimal, on utilise le posfixe h ou H, ou le préfixe $, ou encore, en notation C/C++, le préfixe 0x. 7CFh ou 7CFH, $7CF, 0x7CF Pierre Marchand, 200 48 Entiers positifs ou nuls Addition binaire 90 +4 33 0 0 +000 0 000 0 73 +44 27 00 0 +000 00 0 00 Pierre Marchand, 200 49 9

Entiers positifs ou nuls Addition hexadécimale 90 +4 33 BE +8D 4B 73 +44 27 AD +2C D9 Pierre Marchand, 200 50 Entiers positifs ou nuls Soustraction binaire à la main 0000-0000 0000 Quand le chiffre du bas est supérieur à celui du haut, on emprunte 2 au chiffre de gauche suivant et on ajoute ce 2 au chiffre du haut. On fait la soustraction. L emprunt soustrait au chiffre de gauche. Voyez l animation sur le site Web: http://www.ift.ulaval.ca/~marchand/ift7583/arithm.html Pierre Marchand, 200 5 0

Notation signe et grandeur Sur 8 bits, on pourrait garder bit pour le signe et 7 bits pour la grandeur. C est la notation signe et grandeur que nous utilisons en arithmétique ordinaire. signe grandeur Par exemple, avec la notation signe et grandeur sur 8 bits, on aurait : +5 = 0000 00 et -5 = 000 00 Pierre Marchand, 200 52 Compléments à et à 2 Une autre possibilité est d utiliser le complément à ou le complément à 2. Complément à sur 8 bits : Le complément à est obtenu en inversant tous les bits du nombre : +5 = 0000 00 et -5 = 00 Dans le cas du complément à, +5 + (-5) = = -0 Pierre Marchand, 200 53

Complément à 2 : Le complément à 2 est obtenu en additionnant au complément à : +5 = 0000 00 et -5 = 0 ( 00 + ) Dans le cas du complément à 2, +5 + (-5) = 0000 0000. Les micro-ordinateurs actuels utilisent tous le complément à 2 sur 8, 6 ou 32 bits pour représenter les nombres négatifs. Pierre Marchand, 200 54 La représentation en complément à 2 va de -2 n- à 2 n- - Avec des motifs de 8 bits : Nombres positifs 0000 0000 à 0 ou encore 00 6 à 7F 6 = 0 à 27 Nombres négatifs 000 0000 à ou encore 80 6 à FF 6 = -28 à - Avec des motifs de 6 bits : Nombres positifs 0000 à 7FFF = 0 à 32767 Nombres négatifs 8000 à FFFF = -32768 à - Pierre Marchand, 200 55 2

Avec des motifs de 32 bits : Nombres positifs 00000000 6 à 7FFFFFFF 6 = 0 à 2 47 483 647 Nombres négatifs 80000000 6 à FFFFFFFF 6 = -2 47 483 648 à - Pierre Marchand, 200 56 Complément à 0 Pour illustrer le principe du complément à 2, on pourrait faire la même chose en base 0. Sur 4 digits, les nombres 0 à 4999 seraient positifs et les nombres 5000 à 9999 seraient négatifs. Le complément à 0 d un nombre N s obtiendrait en faisant 0000 - N ou 9999 - N + : Ainsi, le complément à 0 de 000 serait 9000, et 000 + 9000 = ()0000. Pierre Marchand, 200 57 3

Complément à 6 De la même façon, en notation hexadécimale, on peut utiliser le complément à 6 pour représenter les nombres négatifs. Sur 8 bits, on l obtient en soustrayant le nombre de FF 6 et en ajoutant au résultat : 5 = 05 6-5 = FF 6-05 6 + 0 6 = FA 6 + 0 6 = FB 6 = 0 2 Remarquez que c est le même résultat qu en complément à 2. Sur 6 bits : 5 = 0005 6-5 = FFFF 6-0005 6 + 000 6 = FFFB 6 Pierre Marchand, 200 58 Soustraction L ordinateur effectue la soustraction en additionnant le complément à 2 sur des motifs de 8 bits, 6 bits, 32 bits, etc. 5-4 = 5 + (-4) retenue 0000 00 + 00 () 0000 000 ou 0000 00-0000 000 0000 000 4-5 = 4 + (-5) 0000 000 + 0 ou emprunt 0000 000-0000 00 () Pierre Marchand, 200 59 4

Soustraction en hexadécimal avec ou sans le complément à 6 : Sur 6 bits : 5-4 = 5 + (-4) 4-5 = 4 + (-5) retenue 0005 +FFFC ()000 0004 +FFFB FFFF ou ou emprunt 0005-0004 000 0004-0005 ()FFFF Pierre Marchand, 200 60 Attention! Pour les nombres dont le bit le plus significatif est, il y a deux interprétations possibles. Par exemple, sur 8 bits, 00 0000 peut représenter +44 si on le considère comme un nombre non signé ou -2 si on le considère comme un nombre en complément à 2. C est lors de la déclaration d une variable en mémoire qu on détermine si le processeur doit la traiter comme signée ou non signée. char a; // a est considéré comme signé en complément à 2 unsigned char b; // a est considéré comme non signé Pierre Marchand, 200 6 5

Unité 3: Représentation interne des informations 3.2 Données non numériques Endianisme Quand un nombre est représenté sur plusieurs octets, il peut être écrit en mémoire de deux façons : L octet de poids fort à l adresse basse : big-endian L octet de poids faible à l adresse basse : little-endian Par exemple, le nombre décimal 62 090 s écrit F28A en hexadécimal. En little-endian, la mémoire contiendra 8A F2, tandis qu en bigendian, elle contiendra F2 8A Pierre Marchand, 200 62 Unité 3: Représentation interne des informations 3.3. Entiers positifs ou nuls Multiplication La multiplication binaire s effectue comme la multiplication décimale ordinaire, mais est beaucoup plus simple, puisqu il n y a que des et des 0. 0 0 0 00000 0 0 00 Pierre Marchand, 200 63 6

Unité 3: Représentation interne des informations 3.3. Entiers positifs ou nuls Multiplication On peut également effectuer cette opération en hexadécimal : B 0D 8F 0D 5F On utilise à cette fin la table de multiplication hexadécimale du supplément (Appendice 5). Pierre Marchand, 200 64 Unité 3: Représentation interne des informations 3.3. Entiers positifs ou nuls Division La division binaire s effectue comme la division décimale ordinaire, mais elle est beaucoup plus simple, puisque les facteurs sont ou 0. 0 / 000 00 00 0 00 0 00 0 Résultat : 0 2, reste 00 2 Pierre Marchand, 200 65 7

Unité 3: Représentation interne des informations 3.3. Entiers positifs ou nuls Division L ordinateur effectue cette division au moyen de décalages d un registre à l autre. Pour simplifier, utilisons des registres de 6 bits. Initialement le registre R contient des 0 et le registre D contient le dividende. R D 0 0 0 0 0 0 0 On décale D vers R un bit à la fois. Chaque fois que R Diviseur, on soustrait le diviseur de R et on met à la suite du quotient, sinon, on met 0 à la suite du quotient. On effectue 6 décalages de D. À la fin, R contient le reste. Voyez l animation sur le site du cours : http://www.ift.ulaval.ca/~marchand/ift7583/arithm.html Pierre Marchand, 200 66 Unité 3: Représentation interne des informations 3.3. Entiers positifs ou nuls Division (0 / 00) sur 6 bits R D Décalage no. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q = 0 0 0 0 0 0 0 0 Q = 0 0 2 0 0 0 0 0 0 0 Q = 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q = 0 0 0 4 0 0 0 0 0 0 0 0 Q = 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q = 0 0 0 0 6 0 0 0 0 0 0 0 0 0 Pierre Marchand, 200 67 Q = 0 0 0 0 7 8

Unité 3: Représentation interne des informations 3.3. Entiers positifs ou nuls Division On peut également effectuer la division binaire en hexadécimal. Il faut ici aussi utiliser la table de multiplication hexadécimale. Exemple : 7CB / C 70 47 0CB C4 07 Réponse : 7CB 6 / C 6 = 47 6 reste 7. Pierre Marchand, 200 68 9