La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

©Pierre Marchand, 2001 32 Unité 2: Représentation interne des informations Objectifs: À la fin de cette unité, -vous saurez comment les caractères et les.

Présentations similaires


Présentation au sujet: "©Pierre Marchand, 2001 32 Unité 2: Représentation interne des informations Objectifs: À la fin de cette unité, -vous saurez comment les caractères et les."— Transcription de la présentation:

1 ©Pierre Marchand, 2001 32 Unité 2: Représentation interne des informations 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'im- porte quelle base, en particulier en binaire et en hexadécimal;

2 ©Pierre Marchand, 2001 33 Unité 2: Représentation interne des informations 3.1 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 1 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.

3 ©Pierre Marchand, 2001 34 Unité 2: Représentation interne des informations 3.1 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).

4 ©Pierre Marchand, 2001 35 Unité 2: Représentation interne des informations Le binaire 00101010311 1111 111110113210 0000 2101211006311 1111 31113110164100 0000 4100141110127111 1111 51011511111281000 0000 6110161 00002551111 1111 7111171 00012561 0000 0000 81000181 0010 91001191 0011 201 0100 241 1000

5 ©Pierre Marchand, 2001 36 Unité 2: Représentation interne des informations Le binaire En décimal, avec n chiffres, on obtient 10 n combinaisons possibles, i.e. on peut compter de 0 à 10 n -1. Exemple : Avec 3 chiffres, on a 10 3 = 1000 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 -1 Exemple : avec 8 bits, on a 2 8 = 256 combinaisons possibles et on peut compter de 00000000 à 11111111, i.e. de 0 à 255.

6 ©Pierre Marchand, 2001 37 3.2 Données non numériques ASCII 7 bits ->128 caractères : 26 lettres majuscules A - Z 26 lettres minuscule a - z 10 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 Unité 2: Représentation interne des informations

7 ©Pierre Marchand, 2001 38 3.2 Données non numériques ASCII étenduAussi connu sous le nom de ISO- 8859-1 ou ISO latin 1. Définit les caractères ASCII 128 à 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 à 128. Unité 2: Représentation interne des informations

8 ©Pierre Marchand, 2001 39 3.2 Données non numériques Par exemple : ‘A’ = 65 10 = 0100 0001 2 ‘B’ = 66 10 = 0100 0010... ‘a’ = 97 10 = 0110 0101 ‘ ‘ = 32 10 = 0010 0000 ‘0’ = 48 10 = 0011 0000 ‘1’ = 49 10 = 0011 0001 ‘2’ = 50 10 = 0011 0010 … ‘9’ = 57 10 = 0011 1001 Unité 2: Représentation interne des informations

9 ©Pierre Marchand, 2001 40 3.2 Données non numériques Les codes ISO 8859-1 à 8859-11 définissent les caractères entre 128 et 255 pour couvrir les besoins de la majorité des pays d’Europe. UNICODE16 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 128 premiers caractères d’UNICODE. UNICODE est supporté par Windows NT, Windows 2000, Java, et certains systèmes UNIX, MacOS > 8.5, etc. Unité 2: Représentation interne des informations

10 ©Pierre Marchand, 2001 41 3.2 Données non numériques ISO/IEC 10646Deux formats : 16 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. Unité 2: Représentation interne des informations

11 ©Pierre Marchand, 2001 42 3.3 Données numériques 3.3.1Entiers positifs ou nuls 3.3.2Entiers négatifs Unité 2: Représentation interne des informations

12 ©Pierre Marchand, 2001 43 3.3 Données numériques 3.3.1 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-1 B n-1 + … + a 1 B + a 0 = où a n = 0, 1, … B-1 Les bases B les plus usitées sont : B = 10,décimal B = 2, binaire B = 16, hexadécimal B = 8, octal Unité 2: Représentation interne des informations

13 ©Pierre Marchand, 2001 44 3.3 Données numériques 3.3.1 Entiers positifs ou nuls Systèmes de numération Représentation pondérée dans une base B Exemples : 1542 10 = 1  10 3 + 5  10 2 + 4  10 1 + 2  10 0 1542 8 = 1  8 3 + 5  8 2 + 4  8 1 + 2  8 0 = 866 10 1 0110 2 = 1  2 4 + 0  2 3 + 1  2 2 + 1  2 1 + 0  2 0 = 22 10 Unité 2: Représentation interne des informations

14 ©Pierre Marchand, 2001 45 3.3 Données numériques 3.3.1 Entiers positifs ou nuls DécimalBinaireOctalHexadécimal 0000 1111 21022 31133 410044 510155 611066 711177 81000108 91001119 Unité 2: Représentation interne des informations

15 ©Pierre Marchand, 2001 46 3.3 Données numériques 3.3.1 Entiers positifs ou nuls DécimalBinaireOctalHexadécimal 10101012A 11101113B 12110014C 13110115D 14111016E 15111117F 161 00002010 171 00012111 181 00102212 191 00112313 Unité 2: Représentation interne des informations

16 ©Pierre Marchand, 2001 47 3.3 Données numériques 3.3.1 Entiers positifs ou nuls Remarques 10 B = B quel que soit B : 10 2 = 2, 10 7 = 7, 10 8 = 8, 10 16 = 16 10 Ajouter un 0 à droite (décalage à gauche) = multiplication par B Enlever le chiffre de droite (décalage à droite ) = division entière par B Unité 2: Représentation interne des informations

17 ©Pierre Marchand, 2001 48 3.3 Données numériques 3.3.1 Entiers positifs ou nuls Représentation hexadécimale Comme 16 = 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 : 111 1100 1111 2 = 7CF 16 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 Unité 2: Représentation interne des informations

18 ©Pierre Marchand, 2001 49 3.3 Données numériques Entiers positifs ou nuls Addition binaire Unité 2: Représentation interne des informations 190 +141 331 1011 1110 +1000 1101 1 0100 1011 111 173 +44 217 1010 1101 +0010 1100 1101 1001 1111 111

19 ©Pierre Marchand, 2001 50 3.3 Données numériques Entiers positifs ou nuls Addition hexadécimale Unité 2: Représentation interne des informations 190 +141 331 BE +8D 1 4B 11 173 +44 217 AD +2C D9 11 1

20 ©Pierre Marchand, 2001 51 3.3 Données numériques Entiers positifs ou nuls Soustraction binaire à la main 1 1 1 1 10110100 - 10000111 00101101 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 1 au chiffre de gauche. Voyez l’animation sur le site Web: http://www.ift.ulaval.ca/~marchand/ift17583/Arithm.html Unité 2: Représentation interne des informations

21 ©Pierre Marchand, 2001 52 3.3 Données numériques 3.3.2 Entiers négatifs Notation signe et grandeur Sur 8 bits, on pourrait garder 1 bit pour le signe et 7 bits pour la grandeur. C’est la notation signe et grandeur que nous utilisons en arithmétique ordinaire. Par exemple, avec la notation signe et grandeur sur 8 bits, on aurait : +5 = 0000 0101 et -5 = 1000 0101 Unité 2: Représentation interne des informations signe grandeur

22 ©Pierre Marchand, 2001 53 3.3 Données numériques 3.3.2 Entiers négatifs Compléments à 1 et à 2 Une autre possibilité est d’utiliser le complément à 1 ou le complément à 2. Complément à 1 sur 8 bits : Le complément à 1 est obtenu en inversant tous les bits du nombre : +5 = 0000 0101 et -5 = 1111 1010 Dans le cas du complément à 1, +5 + (-5) = 1111 1111 = -0 Unité 2: Représentation interne des informations

23 ©Pierre Marchand, 2001 54 3.3 Données numériques 3.3.2 Entiers négatifs Complément à 2 : Le complément à 2 est obtenu en additionnant 1 au complément à 1 : +5 = 0000 0101 et -5 = 1111 1011(1111 1010 + 1) Dans le cas du complément à 2, +5 + (-5) = 0000 0000. Les micro-ordinateurs actuels utilisent tous le complément à 2 sur 8, 16 ou 32 bits pour représenter les nombres négatifs. Unité 2: Représentation interne des informations

24 ©Pierre Marchand, 2001 55 3.3 Données numériques 3.3.2 Entiers négatifs La représentation en complément à 2 va de -2 n-1 à 2 n-1 -1 Avec des motifs de 8 bits : Nombres positifs 0000 0000 à 0111 1111 ou encore 00 16 à 7F 16 = 0 à 127 Nombres négatifs 1000 0000 à 1111 1111 ou encore 80 16 à FF 16 = -128 à -1 Avec des motifs de 16 bits : Nombres positifs 0000 à 7FFF = 0 à 32767 Nombres négatifs 8000 à FFFF = -32768 à -1 Unité 2: Représentation interne des informations

25 ©Pierre Marchand, 2001 56 3.3 Données numériques 3.3.2 Entiers négatifs Avec des motifs de 32 bits : Nombres positifs 00000000 16 à 7FFFFFFF 16 = 0 à 2 147 483 647 Nombres négatifs 80000000 16 à FFFFFFFF 16 = -2 147 483 648 à -1 Unité 2: Représentation interne des informations

26 ©Pierre Marchand, 2001 57 3.3 Données numériques 3.3.2 Entiers négatifs Complément à 10 Pour illustrer le principe du complément à 2, on pourrait faire la même chose en base 10. Sur 4 digits, les nombres 0 à 4999 seraient positifs et les nombres 5000 à 9999 seraient négatifs. Le complément à 10 d’un nombre N s’obtiendrait en faisant 10000 - N ou 9999 - N + 1 : Ainsi, le complément à 10 de 1000 serait 9000, et 1000 + 9000 = (1)0000. Unité 2: Représentation interne des informations

27 ©Pierre Marchand, 2001 58 3.3 Données numériques 3.3.2 Entiers négatifs Complément à 16 De la même façon, en notation hexadécimale, on peut utiliser le complément à 16 pour représenter les nombres négatifs. Sur 8 bits, on l’obtient en soustrayant le nombre de FF 16 et en ajoutant 1 au résultat : 5 = 05 16 -5 = FF 16 - 05 16 + 01 16 = FA 16 + 01 16 = FB 16 = 1111 1011 2 Remarquez que c’est le même résultat qu’en complément à 2. Sur 16 bits : 5 = 0005 16 -5 = FFFF 16 - 0005 16 + 0001 16 = FFFB 16 Unité 2: Représentation interne des informations

28 ©Pierre Marchand, 2001 59 3.3 Données numériques 3.3.2 Entiers négatifs Soustraction L’ordinateur effectue la soustraction en additionnant le complément à 2 sur des motifs de 8 bits, 16 bits, 32 bits, etc. 5 - 4 = 5 + (-4) 4 - 5 = 4 + (-5) Unité 2: Représentation interne des informations 11111 0000 0101 +1111 1100 (1) 0000 0001 0000 0100 +1111 1011 1111 retenue 0000 0101 -0000 0100 0000 0001 ou 0000 0100 -0000 0101 (1)1111 1111 emprunt ou 1

29 ©Pierre Marchand, 2001 60 3.3 Données numériques 3.3.2 Entiers négatifs Soustraction en hexadécimal avec ou sans le complément à 16 : Sur 16 bits : 5 - 4 = 5 + (-4) 4 - 5 = 4 + (-5) Unité 2: Représentation interne des informations 111 0005 +FFFC (1)0001 0004 +FFFB FFFF 0005 -0004 0001 ou retenue ou 0004 -0005 (1)FFFF 111 emprunt 1 1

30 ©Pierre Marchand, 2001 61 3.3 Données numériques 3.3.2 Entiers négatifs Attention! Pour les nombres dont le bit le plus significatif est 1, il y a deux interprétations possibles. Par exemple, sur 8 bits, 1001 0000 peut représenter +144 si on le considère comme un nombre non signé ou-112 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é Unité 2: Représentation interne des informations

31 ©Pierre Marchand, 2001 62 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 big- endian, elle contiendra F2 8A Unité 3: Représentation interne des informations

32 ©Pierre Marchand, 2001 63 3.3 Données numériques 3.3.1 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 1 et des 0. Unité 3: Représentation interne des informations 1 1011  1101 11011 00000 11011 101011111

33 ©Pierre Marchand, 2001 64 3.3 Données numériques 3.3.1 Entiers positifs ou nuls Multiplication On peut également effectuer cette opération en hexadécimal : Unité 3: Représentation interne des informations 1B  0D 1 8F 0D 15F On utilise à cette fin la table de multiplication hexadécimale du supplément (Appendice 5).

34 ©Pierre Marchand, 2001 65 3.3 Données numériques 3.3.1 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 1 ou 0. Résultat : 1011 2, reste 0011 2 Unité 3: Représentation interne des informations 101111 / 0100 1001 00110 111 1001 0111 1001 011

35 ©Pierre Marchand, 2001 66 3.3 Données numériques 3.3.1 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. On décale D vers R un bit à la fois. Chaque fois que R ≥ Diviseur, on soustrait le diviseur de R et on met 1 à 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/ift17583/Arithm.html Unité 3: Représentation interne des informations 0 0 0 1 0 1 1 1 1 R D

36 ©Pierre Marchand, 2001 67 3.3 Données numériques 3.3.1 Entiers positifs ou nuls Division (101111 / 100) sur 6 bits R DDécalage no. 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 1 1 0Q = 01 0 0 0 0 1 0 1 1 1 1 0 0Q = 0 02 0 0 0 1 0 1 1 1 1 0 0 0Q = 0 0 03 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0Q = 0 0 0 14 0 0 0 1 1 1 1 0 0 0 0 0 Q = 0 0 0 1 0 5 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 Q = 0 0 0 1 0 1 6 0 0 0 1 0 0 0 0 0 0 1 1 Q = 0 0 0 1 0 1 17 Unité 3: Représentation interne des informations

37 ©Pierre Marchand, 2001 68 3.3 Données numériques 3.3.1 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 : Réponse : 7CB 16 / 1C 16 = 47 16 reste 7. Unité 3: Représentation interne des informations 7CB /1C 7047 0CB C4 07


Télécharger ppt "©Pierre Marchand, 2001 32 Unité 2: Représentation interne des informations Objectifs: À la fin de cette unité, -vous saurez comment les caractères et les."

Présentations similaires


Annonces Google