Vous êtes sur la page 1sur 45

CHAPITRE 2 : BASE DES SYSTEMES

INFORMATIQUES - REPRESENTATION
INFORMATIQUE DES NOMBRES

Angora AMAN
Maître de conférences
UFHB Cocody – LAPA MF
angora.aman@gmail.com
Phone number: +22507827752
1
INTRODUCTION

BInary digiT (chiffre binaire)


2
Combien d’informations peut on écrire (coder) avec
1 bit ? 2 bits? et avec 8 bits?

1 1 0 0 1 0 1 1
Exemple d’information codée sur 8 bits

8 bits, 1 octet, 1 byte = 8 bits

1 ko = 210 octets= 1024 octets


1 Mo = 220 octets= 1048576 octets = 1024 ko

1 Go = 230 octets = 1 073 741 824 octets = 1024 Mo

1 To = 240 octets = 1 099 511 627 776 octets = 1024 Go


3
CODAGE BINAIRE D’UN NOMBRE ENTIER

Décomposition en binaire

4
• Ex: décomposition décimale en binaire: 7710

• Résultat = 10011012
5
6
7
OPERATIONS BINAIRES

8
TABLE D’ADDITION BINAIRE

9
TABLE DE SOUSTRACTION BINAIRE

10
TABLE DE MULTIPLICATION BINAIRE

11
TABLE DE DIVISION BINAIRE

12
REPRESENTATION HEXADECIMALE
Numération hexadécimale: meilleur compromis pour
tout système informatique qui utilise des mots dont le
nombre de bits est divisible par 4.

13
EXEMPLE

CAS DES BASES 2, 8 et 16

Ces bases correspondent à des puissances de 2 (21,


23 et 24) d’où des passages de l’une à l’autre très
simples. Les bases 8 et 16 sont pour cela très utilisées
en informatique, elles permettent de représenter
rapidement et de manière compacte des
configurations binaires.
14
La base 8 est appelée notation octale, et la base
16 notation hexadécimale.
Chaque chiffre en base 16 (24) représente un
paquet de 4 bits consécutifs.

Le système octal utilise les huit symboles : 0, 1, 2,


3, 4, 5, 6, 7. Le passage de la base 2 à la base 8
se fait de façon immédiate en groupant les chiffres
binaires 3 par 3. Ainsi :

1011101,011012 = 001 | 011 | 101,011 | 010 = 135,328

15
Le passage de la base 2 à la base 16 se fait de la
même façon en groupant les chiffres binaires par bloc
de 4 symboles. Ainsi :
1011101,011012 = 0101 | 1101,0110 | 1000 = 5D,6816

QUELQUES VALEURS DE REFERENCE

16
CODAGE DES NOMBRES FRACTIONNAIRES
Nombres fractionnaires On multiplie la partie
fractionnaire par la base en répétant l’opération
sur la partie fractionnaire du produit jusqu’a ce
qu’elle soit nulle (ou que la précision voulue soit
atteinte). Pour la partie entière, on procède par
divisions comme pour un entier.
Exemple : conversion de (54, 25) en base 2

(54,25)10 = 110110,010
17
QUELQUES VALEURS DE REFERENCE

18
REPRESENTATION DES ENTIERS RELATIFS –
NOTION DE COMPLEMENT
Il faut ici coder le signe du nombre. On utilise le codage
en complément à deux, qui permet d’effectuer ensuite
les opérations arithmétiques entre nombres relatifs de
la même façon qu’entre nombres naturels.

19
20
SIGNE ET VALEUR ABSOLUE

COMPLEMENT A UN OU COMPLEMENT RESTREINT Cr

21
COMPLEMENT A DEUX OU COMPLEMENT VRAI Cv

22
Cv = Cr +1 (complément vrai Cv)
Exemple : soit à coder la valeur -2 sur 8 bits. On
exprime 2 en binaire, soit 00000010. Le
complément à 1 est 11111101. On ajoute 1 et on
obtient le résultat : 1111 1110.
Remarques :
le bit de poids fort d’un nombre négatif est
toujours 1
 sur n bits, le plus grand entier positif est
+2n-1-1= 011…..1 ;
sur n bits, le plus petit entier négatif est
-2 n-1 = 100…..0
23
COMPLEMENT A DEUX SUR 4 BITS

REMARQUE : MAX +1 = MIN


24
25
CALCUL DU COMPLEMENT A DEUX

26
REPRESENTATION DES NOMBRES BINAIRES
AVEC LA VIRGULE FLOTTANTE
IEEE754 – 1985

27
IEEE 754 – 1985 (Institute of Electronic and
Electronics Engineers)

C’est une norme pour la représentation des


nombres à virgule flottante en binaire. C’est la
norme la plus employée actuellement pour le calcul
des nombres à virgule flottante dans le domaine
informatique.
La norme définit les formats de représentation des
nombres à virgule flottante (signe, mantisse,
exposant, nombres dénormalisés) et valeurs
spéciales et en même temps qu’un ensemble
d’opérations sur les nombres flottants.
28
La version 1985 de la norme IEEE 754 définit
quatre formats pour représenter des nombres à
virgule flottante :
•simple précision (32 bits) : 1 bit de signe, 8 bits
d'exposant , 23 bits de mantisse, avec bit 1
implicite) ;

•double précision (64 bits) : 1 bit de signe, 11


bits d'exposant, 52 bits de mantisse, avec bit 1
implicite) ;

29
30
Comment ces 32 bits sont utilisés pour représenter
un nombre à virgule?
3 composants essentiels
- le signe
- l’exposant
- la mantisse
Une zone de 8 bits est utilisée comme représentation
d’un entier positif qu’on appelle exposant.
Si on utilise les valeurs positives pour la puissance
de la base dans la représentation flottante, on aura
des entiers très grands. C’est pour la raison pour
laquelle l’on va soustraire à l’exposant une quantité
qui est le biais = 127.
31
Examinons la caractéristique de cette représentation
8 bits ------> 256 valeurs distribuées entre [0, 255] si
l’on ne considère que des entiers positifs entre
[0, 255].
On soustrait un biais de 127
[0, 255] ------> [-127, 128]
[-127, 128] ------> ~[10-38, 10+38]
Grâce aux puissances négatives de la base, on va
pouvoir représenter des nombres très grands et très
petits ~[10-38, 10+38]
Quelle est la précision ?
e = erreur relative maximum
Donnée par le poids faible de la partie fractionnaire i.e
2-23 = 1/220. 1/23 = 10-6/8
32
6 chiffres significatifs pour une valeur décimale.
33
Forme normalisée en binaire.

X = (-1)s.(1+m).2e-127

S= 0 si le nombre est positif


S= 1 si le nombre est négatif

Le 1 est implicite, pas besoin de réserver des


bits pour cela.

34
35
X= 0 01111100 010000000000000000000000
•Le bit correspondant au signe est nul, et donc il
s’agit d’un nombre positif.

•L’exposant est
0.27+1.26+1.25+1.24+1.23+1.22+0.21+0.20-127= -3
(e-127)
c) La partie significative est
1+0.2-1+1.2-2= 1.25 (1+m)

Le nombre codé est


x= 1.25 x 2-3 = +0.15625 X = (-1)s.(1+m).2e-127
36
•Comment est codé en machine X= 25.375 ?
• On décompose en binaire 25 et 0.375
25 = 1.24+1.23 + 0.22+ 0.21 +1.20
0,375= 0,0.2-1 + 1.2-2 + 2.2-3
X = 1.24 + 1.23 + 0.22 + 0.21 + 1.20 + 0.2-1+ 1.2-2+ 1.2-3
On exprime x sous la forme adaptée :

X =(1 +1.2-1 +0.2-2 +0.2-3 +1.2-4 + 0.2-5+ 1.2-6+ 1.2-7)24


On détermine les différents éléments du codage binaire :
• Le signe : 0
•L’exposant : 4+127 = 131 = 10000011
•La mantisse : 10010110000000000000000
(on ne tient pas compte du bit caché)
Finalement
X= 0 10000011 10010110000000000000000
37
Exemple 1:

Codons le nombre décimal −118,625 en utilisant le


mécanisme IEEE 754.
•Premièrement, nous avons besoin du signe, de
l'exposant et de la partie fractionnaire. C'est un
nombre négatif, le signe est donc « 1 ».

•Puis nous écrivons le nombre (sans le signe)


en binaire. Nous obtenons 1110110,101
(avec multiplications par 2 successives pour la
partie décimale).
38
•Ensuite, nous décalons la virgule vers la gauche, de
façon à ne laisser qu'un 1 sur sa gauche :
1110110,101 (bin) = 1,110110101 (bin) × 26.
C’est un nombre flottant normalisé
: la mantisse est la partie à droite de la virgule,
remplie de 0 vers la droite pour obtenir 23 bits. Cela
donne
110 1101 0100 0000 0000 0000
(on omet le 1 avant la virgule, qui est implicite).

39
L'exposant est égal à 6, et nous devons le
convertir en binaire et le décaler. Pour le format
32-bit IEEE 754, le décalage est 28−1−1 = 127.

Donc 6 + 127 = 133 (dec) = 1000 0101 (bin).

On a donc

−118,625 (dec) =
110000101 110 1101 0100 0000 0000 0000 (bin) =
C2ED4000 (hexa).

40
Exemple 2:
rappel X = (-1)s.(1+m).2e-127

Que vaut le nombre flottant


X= 0 01111100 01000000000000000000000 ?

a) Le bit correspondant au signe est nul, il s’agit


donc d’un nombre positif
b) l’exposant est
0.27+1.26+1.25+1.24+1.23+1.22+0.21+0.20 -127 =
124-127 = -3
c) La partie significative est 1 + 0.2-1+1.2-2 = 1,25

d) Le nombre représenté est donc x= +1,25 x 2-3


= +0,15625 41
42
LE CODAGE DES CARACTERES
Pour qu’une information (ou qu’un ensemble
d’informations) soit acceptable par
l’ordinateur, il faut que nous puissions la
coder, la représenter sous la forme d’une
série de nombres entiers. On sait qu’en
réalité ces nombres entiers sont eux-mêmes
écrits en binaire (et non en décimal).
Il est nécessaire que chacun des caractères
utilisés trouve un numéro. Ceci a donné lieu à
plusieurs systèmes de codage dont les plus
connus sont le système ASCII et ANSI 43
•Le code ASCII (American Standard Code for
Information Interchange) est l’un des codes les plus
utilisés en informatique.
•défini aux USA en 1963 puis repris ensuite par les
organismes de normalisation des transmissions
internationales de données qui en ont fait le code ISO à 7
bits (International Standard Organisation) ou code
CCITT (Commission Consultation Internationale des
Téléphones et Télécommunication).
•Le code ASCII à 7 bits définit 128 combinaisons
binaires différentes autorisant la codification de 128
caractères ou commandes.
Souvent assimilé à un code à 8 bits car on ajoute
généralement aux 7 bits initiaux, un bit de contrôle
(bit de parité) ASCII étendu = 8 bits 44
Décimal Hexa Binaire Caractère Décimal Hexa Binaire Caractère

0 0 00000000 NUL 32 20 00100000 ESPACE

1 1 00000001 33 21 00100001 !

2 2 00000010 STX 34 22 00100010 "

3 3 00000011 ETX 35 23 00100011 #

4 4 00000100 EOT 36 24 00100100 $

5 5 00000101 37 25 00100101 %

6 6 00000110 ACK 38 26 00100110 &

7 7 00000111 BEL 39 27 00100111 '

8 8 00001000 40 28 00101000 (

9 9 00001001 41 29 00101001 )

10 A 00001010 LF 42 2A 00101010 *

11 B 00001011 43 2B 00101011 +

12 C 00001100 44 2C 00101100 ,

13 D 00001101 CR 45 2D 00101101 -

14 E 00001110 46 2E 00101110 .

15 F 00001111 47 2F 00101111 /

16 10 00010000 48 30 00110000 0

17 11 00010001 49 31 00110001 1

18 12 00010010 50 32 00110010 2

19 13 00010011 51 33 00110011 3

20 14 00010100 NAK 52 34 00110100 4

21 15 00010101 53 35 00110101 5

22 16 00010110 54 36 00110110 6

23 17 00010111 55 37 00110111 7
45