Vous êtes sur la page 1sur 111

Chapitre 2

Représentations et
calculs numériques
en machine
1
Représentations et calculs numériques en machine
Objectif général

A la fin de ce chapitre l'étudiant est capable


d'expliquer comment les nombres entiers,
décimaux, réels et les caractères sont
représentés au sein d'un ordinateur avec les
problèmes que cette représentation peut poser.

Mesmin T. DANDJINOU - IUP 2020 2


Représentations et calculs numériques en machine
Objectifs spécifiques

A la fin de ce chapitre, l'étudiant est capable :


 d’expliquer ce qu’est un système de numération ;
 de fournir la représentation de tout nombre entier naturel dans n'importe quel
système de numération ;
 de faire les quatre opérations arithmétiques de base portant sur des entiers naturels
fournis dans n'importe quel système de numération ;
 de représenter des entiers relatifs dans le système utilisant le complément à 2 ou le
système Signe+Valeur absolue ;
 de donner la traduction binaire d'un texte utilisant le jeu de caractères ASCII et
vice-versa.

Mesmin T. DANDJINOU - IUP 2020 3


Représentations et calculs numériques en machine
Contenu

Introduction
Représentation des entiers naturels
Représentation des entiers relatifs
Codes divers
Conclusion

Mesmin T. DANDJINOU - IUP 2020 4


Représentations et calculs numériques en machine
Introduction (1/10)
L’informatique : science du
traitement rationnel de
l’information, considérée comme le
support des connaissances dans les
domaines scientifiques, économiques
et sociaux, notamment à l’aide de
machines automatiques.
(Académie francaise, 1965)
Mesmin T. DANDJINOU - IUP 2020 5
Représentations et calculs numériques en machine
Introduction (2/10)

MACHINES AUTOMATIQUES
=
Calculateurs (Computers)

ORDINATEURS
Mesmin T. DANDJINOU - IUP 2020 6
Représentations et calculs numériques en machine
Introduction (3/10)
TRAITEMENTS :
 Collecte/saisie des données ;
 Enregistrement/stockage des données ;
 Elaboration/production/calcul ;
 Modification/actualisation/mise à jour ;
 Communication/transmission/diffusion ;
 etc.
Mesmin T. DANDJINOU - IUP 2020 7
Représentations et calculs numériques en machine
Introduction (4/10)
INFORMATIONS :

INSTRUCTIONS DONNEES
ou  Numériques
COMMANDES  Autres

Mesmin T. DANDJINOU - IUP 2020 8


Représentations et calculs numériques en machine
Introduction (5/10)
Exemples d'instructions/commandes :

01111000  langage machine du i8080

Mov A, B  langage assembleur i8080

A=B;  langage C

Copy B A  langage de commandes DOS


Mesmin T. DANDJINOU - IUP 2020 9
Représentations et calculs numériques en machine
Introduction (6/10)
Exemples de données numériques :

12345  entier naturel

-123  entier relatif

182,345  nombre décimal

+5,4389 10-6  nombre réel


Mesmin T. DANDJINOU - IUP 2020 10
Représentations et calculs numériques en machine
Introduction (7/10)
Exemples de données autres :

T  lettre alphabétique

%  caractère non alphabétique imprimable

Bonjour !  chaîne de caractères

  symbole graphique
Mesmin T. DANDJINOU - IUP 2020 11
Représentations et calculs numériques en machine
Introduction (8/10)
Exemples de données autres :

? 250

200

150

100

50

0
1 2 3 4 5 6 7 8 9

Mesmin T. DANDJINOU - IUP 2020 12


Représentations et calculs numériques en machine
Introduction (9/10)
Exemples de données autres :

♫ ♪ ♫ ♪ ♫

♫ ♫ ♪
♪ Mesmin T. DANDJINOU - IUP 2020
♫ 13
Représentations et calculs numériques en machine
Introduction (10/10)

Il était une fois


0 1 1 0 0 1
1 1 0 . . . des . . . 1 0 1
0 1
0 1 BITs (Binary digITs) 0 1
1 1 0 0 1
0 1 1
1 0 1 0 1 1
Mesmin T. DANDJINOU - IUP 2020 14
Représentations et calculs numériques en machine
Introduction (11/12)
Un système de numération = système de
représentation des nombres.
Il utilise :
 Un alphabet Σ (ensemble de symboles)
dont le cardinal est appelé « base du
système » mentionnée en indice à droite
de tout nombre lorsqu'elle est différente
de 10
 Un ensemble de règles

Mesmin T. DANDJINOU - IUP 2020 15


Représentations et calculs numériques en machine
Introduction (12/12)
Ex. de système de numération : le
système décimal ou SN10
Il emploie :
 Un alphabet Σ = { 0,1,2,3,4,5,6,7,8,9 }
dont le cardinal est 10. Comme c'est le
seul appris au primaire, la base 10 n'est
pas mentionnée à droite des nombres
que nous écrivons
 Le nombre « cinquante millions » s'écrit
la banque !
50 000 000 Mesmin T. DANDJINOU - IUP 2020 16
Représentations et calculs numériques en machine

Représentations
des entiers naturels

Mesmin T. DANDJINOU - IUP 2020 17


Représentations et calculs numériques en machine
Représentations des entiers naturels

Les entiers naturels peuvent être représentés dans différents


systèmes de numération ; les plus courants en informatique
sont :
 le système de numération en base 2

(binaire pur ou SN2)


 le système de numération en base 8

(octal ou SN8)
 le système de numération en base 16

(hexadécimal ou SN16)

Mesmin T. DANDJINOU - IUP 2020 18


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (1/21)

Le système de numération binaire pur utilise un


alphabet correspondant à Σ = {0, 1} dont le
cardinal est 2  système en base 2 (binaire ou
SN2)
Tout nombre dans ce système est une suite de
bits 0 et 1
Exemple d'écriture d'un entier naturel en base 2

1101012 à ne pas confondre avec 110101


Mesmin T. DANDJINOU - IUP 2020 19
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (2/21)
1 1 0 1 0 12
unités 1x20 = 1
deuzaines+ 0x21 = 0
quatraines
+ 1x22 = 4
huitaines + 0x23 = 0
seizaines + 1x24 = 16
trente-deuzaines + 1x25 = 32
53
Mesmin T. DANDJINOU - IUP 2020 20
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (3/21)

Passage du SN2  SN10


Usage de la décomposition sous forme
polynomiale ou encore
écriture sous forme polynomiale

Mesmin T. DANDJINOU - IUP 2020 21


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (4/21)

Soit a0, a1, a2, . . ., an les (n+1)


chiffres binaires constituant l'entier
naturel X s'écrivant (anan-1 ...a2a1a0)2

Alors la valeur dans le SN10 de X est


a0x20+a1x21+a2x22+. . .+an-1x2n-1+anx2n
Mesmin T. DANDJINOU - IUP 2020 22
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (5/21)

a0 est dit chiffre de plus faible poids (20), ou


de plus petit indice (0) ou de plus petit rang
(0+1) ou LSB (Least Significant bit)

an est dit chiffre de plus fort poids (2n), ou


de plus grand indice (n) ou de plus grand
rang (n+1) ou MSB (Most Significant bit)
Mesmin T. DANDJINOU - IUP 2020 23
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (6/21)

Exemple :
1101100112= 1x20 +1x21+0x22
+0x23+1x24+1x25
+ 0x26 +1x27 +1x28
= 1+2+0+0+16+32+0+128+256
= 435
Mesmin T. DANDJINOU - IUP 2020 24
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (7/21)

Attention ! Il faut retenir au


moins les 11 “bonnes”
premières puissances de 2 !!!

20 = 1 ; 21 = 2 ; 22 = 4 ; 23 = 8 ; 24 = 16 ; 25 = 32 ;
26 = 64 ; 27 = 128 ; 28 = 256 ; 29 = 512 ; 210 = 1024

Mesmin T. DANDJINOU - IUP 2020 25


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (8/21)

Exemple (clin d'oeil !) :

81275 = 5x100 +7x101+2x102+1x103+8x104


= 5x1+7x10+2x100+1x1000+ 8x10000
= 8x10000+1x1000+2x100+7x10+5x1

Mesmin T. DANDJINOU - IUP 2020 26


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (9/21)

Passage du SN10  SN2


Usage de l'algorithme des divisions
successives par 2
Exo : trouver l'écriture en binaire pur des
10 premiers entiers naturels
Mesmin T. DANDJINOU - IUP 2020 27
Représentations et calculs numériques en machine
Système de numération binaire pur (10/21)

Exemple : X=436
27 2
X=1101101002
436 2
1 13 2
0 218 2
1 6 2
0 109 2
0 3 2
1 54 2
1 1 2
0 27
1
0
STOP !
Mesmin T. DANDJINOU - IUP 2020
28
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (11/21)

Le système binaire pur = système


binaire dans lequel on ne peut
représenter que des entiers naturels
Le nombre minimum de bits n pour
représenter un naturel x en binaire pur
est tel que 2n-1 ≤ x < 2n
Plus le nombre est grand, plus il faut de bits pour le représenter

Mesmin T. DANDJINOU - IUP 2020 29


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (12/21)

Sur un ordinateur donné le nombre n de bits utilisés


pour représenter un entier naturel est fixé 
définition de la + grande valeur entière
représentable sur cette machine qui est 2 n–1

Cas où n=16  valeur maximale 216–1 = 65535


Cas où n=20  valeur maximale 220–1 = 1048575

Mesmin T. DANDJINOU - IUP 2020 30


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (13/21)
Addition dans le SN2
Exemple : 111
+ 0 1 101102
0 0 1 11112
= 1001012
1 1 102
Table d'addition
Mesmin T. DANDJINOU - IUP 2020 31
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (14/21)

Vérification
11 1
101102 0x20+1x21+1x22+0x23+1x24 = 22

11112 1x20+1x21+1x22+1x23 = 15

= 1001012 1x20+0x21+1x22+0x23+0x24+1x25 = 37

Mesmin T. DANDJINOU - IUP 2020 32


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (15/21)
Soustraction dans le SN2

- 0 1 Exemple : 101102
0 0 1 11112
1 Impos-
sible 0
Table de soustraction
= 001112
Mesmin T. DANDJINOU - IUP 2020 33
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (16/21)

Vérification

101102 0x20+1x21+1x22+0x23+1x24
= 22
11112 1x20+1x21+1x22+1x23 = 15

1x20+1x21+1x22 = 7
= 001112
Mesmin T. DANDJINOU - IUP 2020 34
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (17/21)

Multiplication dans le SN2


1102
x 0 1 Exemple : 1012
1102
0 0 0
0002

1 0 1 1102
= 111102
Table de multiplication
Mesmin T. DANDJINOU - IUP 2020 35
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (18/21)

Vérification
1102 0x20+1x21+1x22 = 6
1012 1x20+0x21+1x22 = 5
1102
0002
1102
0x20+1x21+1x22+1x23 +1x24 =
= 111102 Mesmin T. DANDJINOU - IUP 2020
30
36
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (19/21)

Division dans le SN2


Exemple :
Il faut 101102 112
connaître
toutes les 3 1012
précédentes
tables
1002 1112

12
Mesmin T. DANDJINOU - IUP 2020 37
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (20/21)
Vérification
101102 = 0x20+1x21+1x22+0x23+1x24 = 22

101102 112 112 = 1x20+1x21 = 3

1012 1112 = 1x20+1x21 +1x22 = 7

1002 1112
22 3
12
1 7
Mesmin T. DANDJINOU - IUP 2020 38
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération binaire pur (21/21)

Le système binaire pur ne


permet de représenter que les
entiers naturels 
Nécessité d'envisager d'autres
systèmes binaires pour prendre en
compte par exemple la notion de
signe introduite par les entiers relatifs
Mesmin T. DANDJINOU - IUP 2020 39
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (1/15)

Le système de numération octal emploie un


alphabet correspondant à Σ = {0, 1, 2, 3, 4, 5, 6,
7} dont le cardinal est 8  système en base 8
(octal ou SN8)
Tout nombre dans ce système est une suite de
chiffres compris entre 0 et 7
Exemple d'écriture d'un entier naturel : 7650 8

76508 à ne pas confondre avec 7650


Mesmin T. DANDJINOU - IUP 2020 40
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (2/15)

Passage du SN8  SN10

Usage de la décomposition sous forme


polynomiale ou encore
écriture sous forme polynomiale

Mesmin T. DANDJINOU - IUP 2020 41


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (3/15)

Exemple :
76508 = 0x80 + 5x81 + 6x82 + 7x83
= 0 + 40 + 384 + 3584
= 4008

Mesmin T. DANDJINOU - IUP 2020 42


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (4/15)

Passage du SN10  SN8

Usage de l'algorithme des divisions


successives par 8

Mesmin T. DANDJINOU - IUP 2020 43


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (5/15)

Exemple : X=436
436 8
4 54 8
6 6 8
6 0
STOP ! X = 6648
Mesmin T. DANDJINOU - IUP 2020 44
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (6/15)
Addition dans le SN8 Exemple :
+ 0 1 2 3 4 5 6 7

0 0 1 2 3 4 5 6 7 1 1
1 1 2 3 4 5 6 7 108 4568
2 2 3 4 5 6 7 108 118

3 3 4 5 6 7 108 118 128 3758


4 4 5 6 7 108 118 128 138
= 10538
Mesmin T. DANDJINOU - IUP 2020 45
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (7/15)

Vérification
1 1 1
6x80+5x81+4x82 = 302
4568
5x80+7x81+3x82 = 253
3758
3x80+5x81+0x82+1x83 = 555
= 10538 Mesmin T. DANDJINOU - IUP 2020 46
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (8/15)
Soustraction dans le SN8 Exemple :
- 0 1 2 3 4 5 6 7
456
1 8
0 0 1 2 3 4 5 6 7

1 0 1 2 3 4 5 6 375
1 8

2 0 1 2 3 4 5 = 618
3 0 1 2 3 4

4 0 1 2 3

Mesmin T. DANDJINOU - IUP 2020


47
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (9/15)

Vérification

6x8 +5x8 +4x8 = 302


0 1 2

4568 5x80+7x81+3x82 = 253


3758 1x80+6x81 = 49
= 618 Mesmin T. DANDJINOU - IUP 2020 48
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (10/15)

Multiplication dans le SN8


7358
Nécessité 4628
Exemple :
de savoir 16728
30 = 3*8+6 = 368
les tables 21 = 2*8+5 = 258
54568
44 = 5*8+4 = 548 35648
de 2 à 7
= 4350528
Mesmin T. DANDJINOU - IUP 2020 49
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (11/15)
Vérification

7358
5x80+3x81+7x82 = 477
4628
2x80+6x81+4x82 = 306
16728
54568
35648
2x80+5x81+0x82+5x83+3x84+4x85 = 145962
= 4350528 = 477 x 306
Mesmin T. DANDJINOU - IUP 2020 50
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (12/15)

Division dans le SN8


Exemple :
Nécessité 473508 628
de connaître
toutes les 3 12 = 1*8+4 = 148 1758
tables : +, - 25 = 3*8+1 = 318
3108 6248
et x
00

Mesmin T. DANDJINOU - IUP 2020 51


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération octal (12/15)

Division dans le SN8


473508 628
478 = 4*8+7*1 =39

238 - 148 = 1758

= 8+8+3 – (8 +4) 3108 6248


= 8-8 +8-4 +3 =7
00

52
Représentations et calculs numériques en machine
Système de numération octal (13/15)
Vérification
473508 = 0x80+5x81+3x82+7x83+4x84 =
628 = 2x80+6x81 = 20200
50
473508 628
6248 = 4x80+2x81 +6x82 = 404
1758
20200 50
3108 6248
20
404
00 200
0
Mesmin T. DANDJINOU - IUP 2020 53
Représentations et calculs numériques en machine
Système de numération octal (14/15)

Passage du SN8  SN2


Usage de l'algorithme de remplacement
des chiffres octaux par leurs
équivalents en binaire pur sur 3 bits

Exemple : 6 2 48 = 110 010 1002


Vérification : 110 010 1002 = 1x22+1x24+1x27+1x28
= 404
Mesmin T. DANDJINOU - IUP 2020 54
Représentations et calculs numériques en machine
Système de numération octal (15/15)

Passage du SN2  SN8


Usage de l'algorithme de remplacement
des groupes de 3 bits de la droite vers
la gauche par les octaux équivalents
Exemple :111102 = 368 = 6x80+3x81 = 30

Vérification : 111102 =0x20+1x21+1x22+1x23+1x24 = 30

Mesmin T. DANDJINOU - IUP 2020 55


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (1/16)

Le système de numération hexadécimal


emploie un alphabet correspondant à Σ
= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
dont le cardinal est 16  système en
base 16 (hexadécimal ou SN16)

On a les correspondances suivantes :


10=A16, 11=B16, 12=C16, 13=D16, 14=E16 et 15=F16
Mesmin T. DANDJINOU - IUP 2020 56
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (2/16)
Tout nombre dans ce système est une
suite de chiffres de 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,
B, C, D, E et F
Afin de ne pas confondre une valeur et un
nom alphanumérique, en général toute
écriture hexadécimale a comme chiffre de
plus fort poids un chiffre décimal
Exemple d'écriture d'un entier naturel en
base 16 : 0BABA16
123516 à ne pas confondre avec 1235
Mesmin T. DANDJINOU - IUP 2020 57
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (3/16)

Passage du SN16  SN10

Usage de la décomposition sous forme


polynomiale ou encore
écriture sous forme polynomiale

Mesmin T. DANDJINOU - IUP 2020 58


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (4/16)

Exemples :
123516 = 5x160 + 3x161 + 2x162 + 1x163
= 5 + 48 + 512 + 4096 = 4661

1B3F16 = 15x160 + 3x161 + 11x162 + 1x163


= 15 + 48 + 2816 + 4096 = 6975

Mesmin T. DANDJINOU - IUP 2020 59


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (5/16)

Passage du SN10  SN16

Usage de l'algorithme des divisions


successives par 16

Mesmin T. DANDJINOU - IUP 2020 60


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (6/16)

Exemple : X=5436
Attention ! Le reste
5436 16
12 est représenté par
12 339 16
le chiffre C.
3 21 16

5 1 16
X = 153C16
1 0
STOP
! - IUP 2020
Mesmin T. DANDJINOU 61
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (7/16)
Addition dans le SN16
+ 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 0 1 2 3 4 5 6 7 8 9 A B C D E F

1 1 2 3 4 5 6 7 8 9 A B C D E F 1016

2 2 3 4 5 6 7 8 9 A B C D E F 1016 1116

3 3 4 5 6 7 8 9 A B C D E F 1016 1116 1216

4 4 5 6 7 8 9 A B C D E F 1016 1116 1216 1316

Mesmin T. DANDJINOU - IUP 2020 62


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (8/16)

Vérification
Exemple :
1
2x160 + 9x161 + 4x162 = 1170
49216
9x160 + 8x161 + 3x162 = 905

38916
11x160 + 1x161 + 8x162 = 2075
= 81B16

Mesmin T. DANDJINOU - IUP 2020 63


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (9/16)
Soustraction dans le SN16
- 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 0 1 2 3 4 5 6 7 8 9 A B C D E F

1 0 1 2 3 4 5 6 7 8 9 A B C D E

2 0 1 2 3 4 5 6 7 8 9 A B C D

3 0 1 2 3 4 5 6 7 8 9 A B C

4 0 1 2 3 4 5 6 7 8 9 A B

Mesmin T. DANDJINOU - IUP 2020 64


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (10/16)

Exemple : Vérification
455
1 1 16
5x160 + 5x161 + 4x162 = 1109
376
1 1 16 6x160 + 7x161 + 3x162 = 886

= 0DF16 15x160 + 13x161 + 0x162 = 223

Mesmin T. DANDJINOU - IUP 2020 65


Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (11/16)

Multiplication dans le SN16


73516
46216
Nécessité Exemple :
de savoir 0E6A16
30 = 1*16 + 14 = 1E16
les tables 2B3E16
19 = 1*16 + 3 = 1316
de 2 à F
43 = 2*16 + 11 = 2B16 1CD416
28 = 1*16 + 12 = 1C16
= 1F964A16
Mesmin T. DANDJINOU - IUP 2020 66
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (12/16)

Vérification
73516 5x160 + 3x161 + 7x162 = 1845
46216
2x160 + 6x161 + 4x162 = 1122
0E6A16
2B3E16
1CD416 10x160+4x161+6x162+9x163+15x164+1x165 = 2
070 090
= 1F964A16 Mesmin T. DANDJINOU - IUP 2020 67
Représentations et calculs numériques en machine
Représentations d’entiers naturels
Système de numération hexadécimal (13/16)

Division dans le SN16


Exemple : 473516 16216
Nécessité
de 19 = 1*16 + 3 = 1316 4D516
connaître 25 = 1* 16 + 9 = 1916
toutes les 0AF16 3316
tables : +,
- et x
Mesmin T. DANDJINOU - IUP 2020 68
Représentations et calculs numériques en machine
Système de numération hexadécimal (14/16)

473516 = 5x160+3x161+7x162+4x163 =

Vérification 0 1 2
18229
16216 = 2x16 + 6x16 + 1x16 = 354

3316 = 3x160+3x161 = 51
1621
4735 0AF16 = 15x160+10x161 = 175
6
4D5
16 16
18229 35
52 4
0AF16 3316
51
52
Mesmin T. DANDJINOU - IUP 2020 9
17 69
Représentations et calculs numériques en machine
Système de numération hexadécimal (15/16)

Passage du SN16  SN2


Usage de l'algorithme de remplacement
des chiffres hexadécimaux par leurs
équivalents en binaire pur sur 4 bits
Exemple : 16216 = 0001 0110 00102 = 354

Vérification : 0001 0110 00102 =


1x21+1x25+1x26+1x28 = 354
70
Représentations et calculs numériques en machine
Système de numération hexadécimal (16/16)
Passage du SN2  SN16

Usage de l'algorithme de remplacement des


groupes de 4 bits de la droite vers la
gauche par les hexadécimaux équivalents
Exemple :10011102 = 4E16 = 14x160+4x161 = 78

Vérification : 10011102 = 1x21+1x22+1x23+1x26 = 78

71
Représentations et calculs numériques en machine

Représentation
des entiers relatifs

Mesmin T. DANDJINOU - IUP 2020 72


Représentations et calculs numériques en machine
Système de numération binaire (24/36)

Pour représenter les nombres entiers


relatifs, trois solutions sont habituellement
présentées :
Le système binaire signe + valeur absolue
(S+Va)
Le système binaire employant le
complément à 1
Le système binaire employant le
complément à 2
73
Représentations et calculs numériques en machine
Système de numération Signe + Valeur absolue (S+Va)

Les n bits destinés à la représentation de


l'entier relatif x sont employés comme
suit :
un bit, en général le MSB, réservé au
signe (S)
les n-1 autres bits affectés à la
représentation de la valeur absolue (Va)
de x dans le système binaire pur
Mesmin T. DANDJINOU - IUP 2020 74
Représentations et calculs numériques en machine
Système de numération Signe + Valeur absolue (S+Va)

n cases mémoires
binaires

Case
destin
n-1 cases mémoires
ée au
bit binaires destinées
signe : à la valeur absolue
en binaire pur
0 pour +
1 pour -
75
Représentations et calculs numériques en machine
Système de numération Signe + Valeur absolue (S+Va)

la + grande valeur représentable


n-1
sur n bits est +2 -1
la + petite valeur représentable sur
n-1
n bits est -(2 -1)
la valeur 0 est associée à deux
représentations différentes +0 et -0
Mesmin T. DANDJINOU - IUP 2020 76
Représentations et calculs numériques en machine
Système de numération Signe + Valeur absolue (S+Va)

Exemple : n = 3
+0 est représenté par 0002 -0 est représenté par 1002
+1 est représenté par 0012 -1 est représenté par 1012
+2 est représenté par 0102 -2 est représenté par 1102
+3 est représenté par 0112 -3 est représenté par 1112

MSB

Mesmin T. DANDJINOU - IUP 2020 77


Représentations et calculs numériques en machine

Système de numération utilisant le complément à 1 (SNC1)

Définition : le complément à 1 d'un


bit x correspond à la valeur binaire
à lui rajouter pour obtenir 1

le complément à 1 de 1
Ainsi est 0

le complément à 1 de 0
Mesmin T. DANDJINOU - IUP 2020 78

est 1
Représentations et calculs numériques en machine

Système de numération utilisant le complément à 1 (SNC1)

La représentation d'un nombre entier positif est celle


en binaire pur sur n bits, avec un MSB valant toujours
0

La représentation d'un nombre entier négatif est


obtenue en complémentant à 1 chacun des n bits de la
représentation associée à la valeur absolue de ce
nombre

Tous les entiers négatifs ont leur MSB à 1


Mesmin T. DANDJINOU - IUP 2020 79
Représentations et calculs numériques en machine

Système de numération utilisant le complément à 1 (SNC1)

la + grande valeur représentable sur n bits


n-1
est +2 -1

la + petite valeur représentable sur n bits


n-1
est -(2 -1)

la valeur 0 est associée à deux


représentations différentes +0 et -0
Mesmin T. DANDJINOU - IUP 2020 80
Représentations et calculs numériques en machine

Système de numération utilisant le complément à 1 (SNC1)

Exemple : n = 3
+0 est représenté par 0002 -0 est représenté par
+1 est représenté par 0012 1112
+2 est représenté par 0102 -1 est représenté par
+3 est représenté par 0112 1102
-2 est représenté par
1012
MSB -3 est représenté par
1002
Mesmin T. DANDJINOU - IUP 2020 81
Représentations et calculs numériques en machine

Système de numération utilisant le complément à 2 (SNC2)

Définition : le complément à 2 d'une


valeur x sur n bits correspond au
complément à 1 de cette valeur
auquel on ajoute 1

Exemple : x = 3 = 00112 (ici n = 4)


C2(x) = C1(x) + 1 = 11002 + 12 = 11012
Mesmin T. DANDJINOU - IUP 2020 82
Représentations et calculs numériques en machine

Système de numération utilisant le complément à 2 (SNC2)

La représentation d'un nombre entier positif


est celle en binaire pur sur n bits, avec un MSB
valant toujours 0
La représentation d'un nombre entier
négatif est obtenue en complémentant à 2 la
représentation sur n bits associée à sa
valeur absolue
Tous les entiers négatifs dans le SNC2 ont
leur MSB à 1 Mesmin T. DANDJINOU - IUP 2020 83
Représentations et calculs numériques en machine

Système de numération utilisant le complément à 2 (SNC2)

la + grande valeur représentable sur n bits est +2n-


1
-1
la + petite valeur représentable sur n bits est -(2n-1)
la valeur 0 est associée à une unique
représentation
les problèmes de dépassement de capacité
(surpassement ou soupassement de capacité)
Système
peuventlenaître
+ avantageux
lors deset le + employé sur les ordinateurs
calculs
pour représenter les entiers relatifs

Mesmin T. DANDJINOU - IUP 2020 84


Représentations et calculs numériques en machine

Système de numération utilisant le complément à 2 (SNC2)

Exemple : n = 3
0 est représenté par -4 est représenté par 1002
0002 -1 est représenté par 1112
+1 est représenté par -2 est représenté par 1102
0012 -3 est représenté par 1012
+2 est représenté par
0102
+3 est MSB
représenté par
0112
Mesmin T. DANDJINOU - IUP 2020 85
Représentations et calculs numériques en machine

Système de numération utilisant le complément à 2 (SNC2)

Exemples d’addition dans le SNC2 avec n =


3
1 + (-4) 1 + 2
0012 0012
-3 + 10010122 3 + 01001122

-1 + (-2)
1112 Ici la dernière retenue est abandonnée
puisque la taille maxi est atteinte
-3 + 1 110
1012
2
Mesmin T. DANDJINOU - IUP 2020 86
Représentations et calculs numériques en machine

Système de numération utilisant le complément à 2 (SNC2)

Exemples d’addition dans le SNC2 avec n =


3
-1 + (-4)
1112 Ici il y a dépassement par valeur inférieure
(soupassement) de capacité
-5 + 100
1 0112 2

2 + 3 Ici il y a dépassement par valeur supérieure


0102 (surpassement) de capacité
5 + 011
1012 2
Mesmin T. DANDJINOU - IUP 2020 87
Représentations et calculs numériques en machine

Représentation
des nombres décimaux

Mesmin T. DANDJINOU - IUP 2020 88


Représentations et calculs numériques en machine

Représentation des nombres décimaux (1/6)

n cases mémoires binaires

p cases q cases
mémoires mémoires
binaires binaires
destinées à la destinées à la
partie partie
entière Mesmin T. DANDJINOU - IUP 2020décimale 89
Représentations et calculs numériques en machine

Représentation des nombres décimaux (2/6)


Un nombre décimal X est représenté en
machine sur un nombre n de bits fixé à
l'avance pour une machine donnée

n=p+q avec p le nombre de bits associés à


la représentation de la partie entière (à
gauche de la virgule), et q le nombre de
bits associés à la représentation de la
partie décimale (à droite de la
virgule)Sytème de représentation en virgule fixe
Mesmin T. DANDJINOU - IUP 2020 90
Représentations et calculs numériques en machine

Représentation des nombres décimaux (3/6)


La partie entière représentée dans l'un
des trois systèmes de représentation des
entiers relatifs

La partie décimale en binaire pur grâce au


résultat de l'algorithme des
multiplications successives par 2

La virgule n'est pas représentée en


machine Mesmin T. DANDJINOU - IUP 2020 91
Représentations et calculs numériques en machine

Représentation des nombres décimaux (4/6)

Exemple : X = 0,671875
0,671875x2 = 1,34375
0,34375x2 = 0,6875
0,6875x2 = 1,375
0,375x2 = 0,75
0,75x2 = 1,50 X=
0,50x2 = 1,00 0,1010112
STOP ! Mesmin T. DANDJINOU - IUP 2020 92
Représentations et calculs numériques en machine

Représentation des nombres décimaux (5/6)

Vérification : usage de la décomposition


polynomiale
X = 0,1010112
= 1x2-1+ 0x2-2+ 1x2-3 + 0x2-4+ 1x2-5 +
1x2-6
= 0,5 + 0 + 0,125 + 0 + 0,03125 +
0,015625
=
0,671875
Mesmin T. DANDJINOU - IUP 2020 93
Représentations et calculs numériques en machine

Représentation des nombres décimaux (6/6)

Exemple :X = -30,671875
30 = 000111102
Représenter le
nombre -30 = 111000102 en SNC2 sur
décimal x sur n 8 bits
= 16 bits avec 0,671875 = 0,101011002 sur 8
p = 8, q = 8 et bits
en employant -30,671875 =
le SNC2 pour la 11100010,101011002
partie entière NB : si q<6 on aurait eu une valeur approchée
du fait de la troncature

Mesmin T. DANDJINOU - IUP 2020 94


Représentations et calculs numériques en machine

Représentation
des nombres réels

Mesmin T. DANDJINOU - IUP 2020 95


Représentations et calculs numériques en machine

Représentation des nombres réels (1/10)

La représentation en virgule fixe


n'est pas adaptée pour la
représentation des nombres réels
(rigidité)

Usage de la représentation en virgule flottante

Mesmin T. DANDJINOU - IUP 2020 96


Représentations et calculs numériques en machine

Représentation des nombres réels (2/10)


Partie décimale ou
Exemple : fractionnaire
30,725 = 307,25 x
10-1
= 0,030725 x Une infinité de
10
Partie entière
+3

= 30725,0 x 10-3 représentation


s
= 30725000,0 x grâce à la
10-6 virgule flottante
Mesmin T. DANDJINOU - IUP 2020 97
Représentations et calculs numériques en machine

Représentation des nombres réels (3/10)

n=1+p+q cases mémoires binaires

1 case p cases q cases


pour mémoires mémoires
le binaires binaires
sign destinées à la destinées à
e mantisse l'exposant
Mesmin T. DANDJINOU - IUP 2020 98
Représentations et calculs numériques en machine

Représentation des nombres réels (4/10)


Tout nombre réel peut être écrit sous la
forme exponentielle  M x BE avec M comme
mantisse, B comme base du système de
numération et E comme exposant
Exemple : on
donne dans le No Mantisse Base Exposant
tableau ci-
contre 1 90,125 10 0
différentes
écritures d’une
même valeur 2 9,0125 10 1
réelle V =
90,125 3 Mesmin0,90125
T. DANDJINOU - IUP 2020
10 2 99
Représentations et calculs numériques en machine

Représentation des nombres réels (5/10)


Afin d’assurer l’unicité de la représentation des
nombres réels en machine, on la fera à partir de la
forme exponentielle normalisée i.e celle utilisant la
mantisse normalisée
La mantisse normalisée peut être définie comme la
mantisse dans laquelle la partie à gauche de la
virgule vaut 0 et la partie à droite de la virgule
débute avec un chiffre différent de 0
Exemple : dans le tableau précédent seule
l’écriture correspondant au numéro 3 répond à la
caractéristique de la forme exponentielle
normalisée avec V = 0,90125
Mantisse normalisée x 102

Mesmin T. DANDJINOU - IUP 2020 100


Représentations et calculs numériques en machine

Représentation des nombres réels (6/10)


Exemple : soit à représenter la valeur V=90.125 sur
une machine utilisant pour les nombres réels n = 16
bits, p = 8 bits (pour la partie mantisse), q = 7 bits
(pour l’exposant représenté dans le SNC2) et 1 bit
(pour le signe) selon le schéma suivant.
n=1+8+7 cases mémoires binaires

Signe Mantisse normalisée Exposant


Mesmin T. DANDJINOU - IUP 2020 101
Représentations et calculs numériques en machine

Représentation des nombres réels (7/10)


V = 90.125 est un nombre positif donc S=0
90 = 64 + 16 + 8 + 2 = 26 + 24 + 23 + 21 = 010110102

0.125 x 2 = 0,250
alors V = 90,125 = 01011010,0012
0.25 x 2 = 0,50 = 0,10110100012 x 27

0.50 x 2 = 1,0

Exposant = 7 = 00001112
Signe
Mantisse normalisée

0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1
Mesmin T. DANDJINOU - IUP 2020 102
Représentations et calculs numériques en machine

Représentation des nombres réels (8/10)

Attention ! Dans la représentation qui a été faite, la


mantisse normalisée a été tronquée, abandonnant
les chiffres de poids 2-9 et 2-10.
V = 0,10110100012 x 27
Il en résulte donc une perte de précision qui pourrait
se propager dans les calculs et être à l’origine de
grandes erreurs de calcul !

On vérifiera que la valeur réelle effectivement


représentée est 90, au lieu de 90.125, soit une
erreur relative de 14%, ce qui est considérable.
Mesmin T. DANDJINOU - IUP 2020 103
Représentations et calculs numériques en machine

Représentation des nombres réels (9/10)

Attention ! Sur certaines machines une optimisation est


faite lors de la représentation de la mantisse en ne
mémorisant pas le bit juste à droite de la virgule qui est
toujours à 1 dans une mantisse normalisée : on parle
de mantisse normalisée et optimisée

V = 0,10110100012 x 27
Mesmin T. DANDJINOU - IUP 2020 104
Représentations et calculs numériques en machine

Représentation des nombres réels (10/10)

Attention ! Sur certaines machines l’exposant


effectivement représenté correspond à une valeur
strictement positive obtenue par translation en ajoutant
systématiquement une valeur positive appelée BIAIS à
la valeur de l’exposant à représenter.
Exposant représenté en machine
=
exposant à représenter + BIAIS
Mesmin T. DANDJINOU - IUP 2020 105
Représentations et calculs numériques en machine

Représentation
par des codes divers

Mesmin T. DANDJINOU - IUP 2020 106


Représentations et calculs numériques en machine

Représentation par des codes divers (1/4)


Afin de faciliter l’échange de données entre les
machines, différents codes ont été mis en place.
L’un des tout premiers d’entre-eux est le code ASCII
(American Standard Code for Information
Interchange).
Ces codes sont en général des tables de
correspondance entre des représentations
numériques et des symboles
Ainsi il existe des codes pour représenter les
caractères, les couleurs, les sons, etc.
Le code UNICODE est une norme internationale
approuvée pour le codage des textes et de plus en
plus employée parMesmin
lesT. DANDJINOU
ordinateurs
- IUP 2020 107
Représentations et calculs numériques en machine

Représentation par des codes divers (2/4)


Exemple : le code ASCII (American Standard Code for Information
Interchange)

Mesmin T. DANDJINOU - IUP 2020 108


Représentations et calculs numériques en machine

Représentation par des codes divers (3/4)


Exemple : le code ASCII (American Standard Code for Information
Interchange)

Mesmin T. DANDJINOU - IUP 2020 109


Représentations et calculs numériques en machine

Représentation par des codes divers (4/4)


Exemple : le code ASCII (American Standard Code for Information
Interchange)

Mesmin T. DANDJINOU - IUP 2020 110


Représentations et calculs numériques en machine

FIN
Questions ?

Mesmin T. DANDJINOU - IUP 2020 111