Sie sind auf Seite 1von 37

Unit 2: Reprsentation interne des informations

Objectifs:
la fin de cette unit, - vous saurez comment les caractres et les nombres entiers positifs et ngatifs sont reprsents dans la mmoire d'un ordinateur. - vous saurez comment on effectue les oprations arithmtiques addition et soustraction avec des entiers binaires. - vous saurez comment effectuer la multiplication et la division binaire Pour y arriver, vous devrez matriser les objectifs suivants : - effectuer ces oprations arithmtiques sur des entiers dans n'importe quelle base, en particulier en binaire et en hexadcimal;

Pierre Marchand, 2001

Unit 2: Reprsentation interne des informations


3.1 Introduction
Types dinformation traites par lordinateur :

Nombres, instructions, images, squences dimages animes, sons, etc., toujours reprsentes sous forme binaire. Une information lmentaire correspond donc un chiffre binaire 0 ou 1 appel bit.
Avantages du binaire :

facile raliser techniquement laide de bistables (systmes deux tats dquilibre). oprations fondamentales simples
Pierre Marchand, 2001 2

Unit 2: Reprsentation interne des informations


3.1 Introduction
Types dinformation traits : instructions et donnes.

Les instructions sont crites en langage machine et reprsentent les oprations (e.g. addition, multiplication, etc.) effectues par lordinateur. Elles sont composes de plusieurs champs : - Le code de lopration effectuer (opcode) - Les oprandes impliqus dans lopration. Les donnes sont les oprandes sur lesquelles portent les oprations. On
Pierre Marchand, 2001 3

Unit 2: Reprsentation interne des informations


Le binaire 0 1 2 3 4 5 6 7 8 9

0 1 10 11 100 101 110 111 1000 1001

10 11 12 13 14 15 16 17 18 19 20 24

1010 1011 1100 1101 1110 1111 1 0000 1 0001 1 0010 1 0011 1 0100 1 1000

31 32 63 64 127 128 255 256

1 1111 10 0000 11 1111 100 0000 111 1111 1000 0000 1111 1111 1 0000 0000

Pierre Marchand, 2001

Unit 2: Reprsentation interne des informations


Le binaire En dcimal, avec n chiffres, on obtient 10n combinaisons possibles, i.e. on peut compter de 0 10n-1. Exemple : Avec 3 chiffres, on a 103 = 1000 combinaisons possibles et on peut compter de 000 999. En binaire, avec n bits, on obtient 2n combinaisons possibles, i.e. on peut compter de 0 2n-1 Exemple : avec 8 bits, on a 28 = 256 combinaisons possibles et on peut compter de 00000000 11111111, i.e. de 0 255.

Pierre Marchand, 2001

Unit 2: Reprsentation interne des informations


3.2 Donnes non numriques
ASCII 7 bits ->128 caractres :
26 lettres majuscules A - Z 26 lettres minuscule a - z 10 chiffres 0 9 33 caractres de ponctuation sp,! #$%& ()*+,-. /< = >?@ [ ] ^_` { | } ~ 33 caractres de contrle : null, etx, bel, bs, ht, lf, vt, ff, cr, , del

Pierre Marchand, 2001

Unit 2: Reprsentation interne des informations


3.2 Donnes non numriques
ASCII tendu Aussi connu sous le nom de ISO8859-1 ou ISO latin 1. Dfinit les caractres ASCII 128 256 8 bits -> 256 caractres
caractres internationaux caractres semi-graphiques

Dans les deux cas, les caractres sont reprsents dans lordinateur par un nombre binaire de 8 bits indiquant lindice i.e. la position du caractre dans la table ASCII. Dans le cas de l ASCII simple, le nombre doit tre infrieur 128.

Pierre Marchand, 2001

Unit 2: Reprsentation interne des informations


3.2 Donnes non numriques
Par exemple : A = 6510 = 0100 00012 B = 6610 = 0100 0010 ... a = 9710 = 0110 0101 = 3210 = 0010 0000 0 = 4810 = 0011 0000 1 = 4910 = 0011 0001 2 = 5010 = 0011 0010 9 = 5710 = 0011 1001
Pierre Marchand, 2001 8

Unit 2: Reprsentation interne des informations


3.2 Donnes non numriques
Les codes ISO 8859-1 8859-11 dfinissent les caractres entre 128 et 255 pour couvrir les besoins de la majorit des pays dEurope. UNICODE 16 bits -> 65 536 caractres
Code qui se veut universel et qui contient, en plus de tous les caractres europens, 42 000 caractres asiatiques. Le code ASCII est contenu dans les 128 premiers caractres dUNICODE. UNICODE est support par Windows NT, Windows 2000, Java, et certains systmes UNIX, MacOS > 8.5, etc.

Pierre Marchand, 2001

Unit 2: Reprsentation interne des informations


3.2 Donnes non numriques
ISO/IEC 10646 Deux formats : 16 bits (UCS-2) ou 32 bits (UCS-4)

UCS-2 quivalent UNICODE 2.0 UCS-4 inclut :


Caractres musicaux Symboles mathmatiques critures anciennes telles que les hiroglyphes.

Pierre Marchand, 2001

10

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls 3.3.2 Entiers ngatifs

Pierre Marchand, 2001

11

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls Systmes de numration Reprsentation pondre dun nombre N dans une base B :

N = anB + an-1B
n

n-1

ai Bi + + a1B + a0 =
i=0

o an = 0, 1, B-1 Les bases B les plus usites sont : B = 10, dcimal B = 2, binaire B = 16, hexadcimal B = 8, octal
Pierre Marchand, 2001 12

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques

3.3.1 Entiers positifs ou nuls


Systmes de numration Reprsentation pondre dans une base B Exemples : 154210 = 1 103 + 5 102 + 4 101 + 2 100 15428 = 1 83 + 5 82 + 4 81 + 2 80 = 86610 1 01102 = 1 24 + 0 23 + 1 22 + 1 21 + 0 20 = 2210

Pierre Marchand, 2001

13

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls Dcimal Binaire Octal 0 0 0 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000 10 9 1001 11
Pierre Marchand, 2001 14

Hexadcimal 0 1 2 3 4 5 6 7 8 9

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls Dcimal Binaire Octal 10 1010 12 11 1011 13 12 1100 14 13 1101 15 14 1110 16 15 1111 17 16 1 0000 20 17 1 0001 21 18 1 0010 22 19 1 0011 23
Pierre Marchand, 2001 15

Hexadcimal A B C D E F 10 11 12 13

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls Remarques

10B = B quel que soit B : 102 = 2, 107 = 7, 108 = 8, 1016 = 1610 Ajouter un 0 droite (dcalage gauche) = multiplication par B Enlever le chiffre de droite (dcalage droite )= 16 division entire par B Pierre Marchand, 2001

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls Reprsentation hexadcimale Comme 16 = 24, on peut toujours reprsenter un nombre binaire en regroupant les bits en groupes de 4 et en crivant la notation hexadcimale 0 - F pour chacun de ces groupes : Exemple : 111 1100 11112 = 7CF16 Pour indiquer quun nombre est en hexadcimal, on utilise le posfixe h ou H, ou le prfixe $, ou encore, en notation C/C++, le prfixe 0x. 7CFh ou 7CFH, $7CF, 0x7CF

Pierre Marchand, 2001

17

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
Entiers positifs ou nuls Addition binaire
190 +141 331
1 1

1011 1110 +1000 1101 1 0100 1011


1 1 1

1 11 1

173 +44 217

1010 1101 +0010 1100 1101 1001

Pierre Marchand, 2001

18

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
Entiers positifs ou nuls Addition hexadcimale
190 BE +141 +8D 331 1 4B
1 1 1 1 1

173 +44 217

AD +2C D9

Pierre Marchand, 2001

19

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
Entiers positifs ou nuls Soustraction binaire la main
1 11 1

10110100 - 10000111 00101101 Quand le chiffre du bas est suprieur celui du haut, on emprunte 2 au chiffre de gauche suivant et on ajoute ce 2 au chiffre du haut. On fait la soustraction. Lemprunt soustrait 1 au chiffre de gauche. Voyez lanimation sur le site Web: http://www.ift.ulaval.ca/~marchand/ift17583/Arithm.html

Pierre Marchand, 2001

20

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.2 Entiers ngatifs Notation signe et grandeur Sur 8 bits, on pourrait garder 1 bit pour le signe et 7 bits pour la grandeur. Cest la notation signe et grandeur que nous utilisons en arithmtique ordinaire.
signe grandeur

Par exemple, avec la notation signe et grandeur sur 8 bits, on aurait : +5 = 0000 0101 et -5 = 1000 0101

Pierre Marchand, 2001

21

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.2 Entiers ngatifs Complments 1 et 2 Une autre possibilit est dutiliser le complment 1 ou le complment 2. Complment 1 sur 8 bits : Le complment 1 est obtenu en inversant tous les bits du nombre : +5 = 0000 0101 et -5 = 1111 1010 Dans le cas du complment 1, +5 + (-5) = 1111 1111 = -0

Pierre Marchand, 2001

22

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.2 Entiers ngatifs Complment 2 : Le complment 2 est obtenu en additionnant 1 au complment 1 : +5 = 0000 0101 et -5 = 1111 1011 (1111 1010 + 1) Dans le cas du complment 2, +5 + (-5) = 0000 0000. Les micro-ordinateurs actuels utilisent tous le complment 2 sur 8, 16 ou 32 bits pour reprsenter les nombres ngatifs.

Pierre Marchand, 2001

23

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.2 Entiers ngatifs La reprsentation en complment 2 va de -2n-1 2n-1-1
Avec des motifs de 8 bits : Nombres positifs 0000 0000 0111 1111 ou encore 0016 7F16 = 0 127 Nombres ngatifs 1000 0000 1111 1111 ou encore 8016 FF16 = -128 -1 Avec des motifs de 16 bits : Nombres positifs 0000 7FFF = 0 32767 Nombres ngatifs 8000 FFFF = -32768 -1
Pierre Marchand, 2001 24

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.2 Entiers ngatifs
Avec des motifs de 32 bits : Nombres positifs 0000000016 7FFFFFFF16 = 0 2 147 483 647 Nombres ngatifs 8000000016 FFFFFFFF16 = -2 147 483 648 -1

Pierre Marchand, 2001

25

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.2 Entiers ngatifs Complment 10 Pour illustrer le principe du complment 2, on pourrait faire la mme chose en base 10. Sur 4 digits, les nombres 0 4999 seraient positifs et les nombres 5000 9999 seraient ngatifs. Le complment 10 dun nombre N sobtiendrait en faisant 10000 - N ou 9999 - N + 1 : Ainsi, le complment 10 de 1000 serait 9000, et 1000 + 9000 = (1)0000.

Pierre Marchand, 2001

26

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.2 Entiers ngatifs Complment 16 De la mme faon, en notation hexadcimale, on peut utiliser le complment 16 pour reprsenter les nombres ngatifs. Sur 8 bits, on lobtient en soustrayant le nombre de FF16 et en ajoutant 1 au rsultat : 5 = 0516 -5 = FF16 - 0516 + 0116 = FA16 + 0116 = FB16 = 1111 10112 Remarquez que cest le mme rsultat quen complment 2. Sur 16 bits : 5 = 000516 -5 = FFFF16 - 000516 + 000116 = FFFB16
Pierre Marchand, 2001 27

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.2 Entiers ngatifs Soustraction Lordinateur effectue la soustraction en additionnant le complment 2 sur des motifs de 8 bits, 16 bits, 32 bits, etc.
5 - 4 = 5 + (-4)

retenue
4 - 5 = 4 + (-5)

0000 0101 +1111 1100 (1) 0000 0001

1 1111 1

ou

0000 0101 -0000 0100 0000 0001

0000 0100 +1111 1011 1111 1111


28

ou

emprunt

0000 0100 -0000 0101 (1)1111 1111

Pierre Marchand, 2001

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.2 Entiers ngatifs Soustraction en hexadcimal avec ou sans le complment 16 : Sur 16 bits :
5 - 4 = 5 + (-4)

retenue
4 - 5 = 4 + (-5)

0005 +FFFC (1)0001 0004 +FFFB FFFF

1 1 11

ou
1

0005 -0004 0001 0004 -0005 (1)FFFF


1 11

ou

emprunt

Pierre Marchand, 2001

29

Unit 2: Reprsentation interne des informations


3.3 Donnes numriques
3.3.2 Entiers ngatifs Attention! Pour les nombres dont le bit le plus significatif est 1, il y a deux interprtations possibles. Par exemple, sur 8 bits, 1001 0000 peut reprsenter +144 si on le considre comme un nombre non sign ou -112 si on le considre comme un nombre en complment 2. Cest lors de la dclaration dune variable en mmoire quon dtermine si le processeur doit la traiter comme signe ou non signe. char a; // a est considr comme sign en complment 2 unsigned char b; // a est considr comme non sign

Pierre Marchand, 2001

30

Unit 3: Reprsentation interne des informations


3.2 Donnes non numriques
Endianisme Quand un nombre est reprsent sur plusieurs octets, il peut tre crit en mmoire de deux faons : Loctet de poids fort ladresse basse : big-endian Loctet de poids faible ladresse basse : little-endian Par exemple, le nombre dcimal 62 090 scrit F28A en hexadcimal. En little-endian, la mmoire contiendra 8A F2, tandis quen bigendian, elle contiendra F2 8A

Pierre Marchand, 2001

31

Unit 3: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls Multiplication La multiplication binaire seffectue comme la multiplication dcimale ordinaire, mais est beaucoup plus simple, puisquil ny a que des 1 et des 0. 1 1011 1101 11011 00000 11011 11011 101011111

Pierre Marchand, 2001

32

Unit 3: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls Multiplication On peut galement effectuer cette opration en hexadcimal : 1B 0D 1 8F 0D 15F On utilise cette fin la table de multiplication hexadcimale du supplment (Appendice 5).

Pierre Marchand, 2001

33

Unit 3: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls Division La division binaire seffectue comme la division dcimale ordinaire, mais elle est beaucoup plus simple, puisque les facteurs sont 1 ou 0. 101111 / 0100 100 1 0011 0 111 100 1 0111 100 1 011 Rsultat : 10112, reste 00112
Pierre Marchand, 2001 34

Unit 3: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls Division Lordinateur effectue cette division au moyen de dcalages dun registre lautre. Pour simplifier, utilisons des registres de 6 bits. Initialement le registre R contient des 0 et le registre D contient le dividende. R D 000000 101111 On dcale 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 dcalages de D. la fin, R contient le reste. Voyez lanimation sur le site du cours : http://www.ift.ulaval.ca/~marchand/ift17583/Arithm.html
Pierre Marchand, 2001 35

Unit 3: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls
Division (101111 / 100) sur 6 bits R D 000000 101111 000001 011110 000010 111100 000101 111000 000100 000001 000011 110000 000111 100000 000100 000011 000111 000000 000100 000011
Pierre Marchand, 2001 36

Dcalage no. Q=0 Q=00 Q=000 Q=0001 Q=00010 Q=000101 Q=0001011 1 2 3 4 5 6 7

Unit 3: Reprsentation interne des informations


3.3 Donnes numriques
3.3.1 Entiers positifs ou nuls Division On peut galement effectuer la division binaire en hexadcimal. Il faut ici aussi utiliser la table de multiplication hexadcimale. Exemple : 7CB / 1C 70 47 0CB C4 07 Rponse : 7CB16 / 1C16 = 4716 reste 7.

Pierre Marchand, 2001

37

Das könnte Ihnen auch gefallen