Vous êtes sur la page 1sur 11

Représentation des

nombres

Dr Maurice Djibril FAYE | Représentation des nombres | 12 octobre 2022


Ousmane NGOM – Licence Robotique – 2021/2022

Table des matières


1. Définition ........................................................................................................................................ 2
 Addition de bits......................................................................................................................... 2
2. Changement de base (entiers) ........................................................................................................ 3
 Changement de la base b à la base 10 : ....................................................................................... 3
 Changement de la base 10 vers la base b: ...................................................................................4
 Conversion base 𝟏𝟎 → base 𝟐 (réel) ...........................................................................................4
 Conversion rapide binaire, octal, hexadécimal ......................................................................... 5
a. Octal ⇒ binaire : ..................................................................................................................... 5
b. Binaire ⇒ Octal ....................................................................................................................... 5
c. Conversion binaire ⇒ Hexadécimal - Hexadécimal ⇒ binaire............................................. 6
 Conversion base 𝒃𝟏 vers 𝒃𝟐 ....................................................................................................... 6
3. Arithmétique avec les entiers ........................................................................................................ 6
a. Les entiers naturels ................................................................................................................... 6
b. Les entiers relatifs ...................................................................................................................... 7
 Problème : comment représenter le signe (+ ou -) .................................................................. 7
Addition en 𝑪 à 𝟐 d’entiers relatifs .................................................................................................. 7
c. Représentation des réels (flottants) ..........................................................................................8
La norme 𝑰𝑬𝑬𝑬 − 𝟕𝟓𝟒 ......................................................................................................................8
a. Représentation normalisée d’un réel en virgule flottante .....................................................8
b. Représentation de la norme .................................................................................................. 9
 Calcul du biais ....................................................................................................................... 9
 Calcul de l'exposant décalé ................................................................................................... 9
c. Valeurs particulières ............................................................................................................. 9

REPRESENTATION DES NOMBRES - PAGE 1


Ousmane NGOM – Licence Robotique – 2021/2022

1. Définition
Soit le nombre (537)10 .
.
537 = 5 ∗ 102 + 3 ∗ 101 + 7 ∗ 100 } 𝐝é𝐯𝐞𝐥𝐨𝐩𝐩𝐞𝐦𝐞𝐧𝐭 𝐩𝐨𝐥𝐲𝐧𝐨𝐦𝐢𝐚𝐥𝐞.
.
Chaque chiffre a un poids, en partant de la droite vers la gauche.
Celui qui est le plus à droite ⇒ poids faible (0).
Celui qui est le plus à gauche ⇒ poids fort.

 La base : c’est un ensemble de symboles qui permet de construire les autres éléments de l’ensemble par
combinaison des symboles à la base.
 Le rang d’un chiffre : sa position dans le nombre en partant de la droite.

Exemple :
le rang de 5 → 0 100 = 1 unité
Dans (235)10 { rang de 3 → 1
le 101 = 10 𝑑𝑖𝑧𝑎𝑖𝑛𝑒
le rang de 2 → 2 102 = 100 𝑐𝑒𝑛𝑡𝑎𝑖𝑛𝑒

𝑝𝑙𝑢𝑠 𝑢𝑛 𝑐ℎ𝑖𝑓𝑓𝑟𝑒 𝑒𝑠𝑡 à 𝑔𝑎𝑢𝑐ℎ𝑒, 𝑝𝑙𝑢𝑠 𝑖𝑙 "pèse" 𝑝𝑙𝑢𝑠 𝑙𝑜𝑢𝑟𝑑,


 Le poids en chiffre : 10𝑟𝑎𝑛𝑔 |
𝑝𝑙𝑢𝑠 𝑠𝑜𝑛 𝑝𝑜𝑖𝑑𝑠 𝑒𝑠𝑡 𝑖𝑚𝑝𝑜𝑟𝑡𝑎𝑛𝑡
 Une base est un entier ≥ 2.
 Dans une base b ⇒ il y a b symboles : {0, 1, … , 𝑏, 𝑏 − 1}.

Exemples :
b = 2 {0, 1} (Binaire)
b = 8 {0, 1, 2, 3, 4, 5, 6, 7} (Octal)
b = 10 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} (Décimal)
b = 16 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} (Hexadécimal)

En informatique, la taille des nombres est fixée; soit 𝒏 𝒃𝒊𝒕𝒔 (binary digits) pour représenter un nombre.
Avec 𝑛 𝑏𝑖𝑡𝑠, on peut représenter 𝑏 𝑛 valeurs différentes.

Exemples :
b = 2 n = 1 ⇒ {0, 1} 21 = 2 valeurs.
b = 2 n = 2 ⇒ {00, 11, 10, 01} 22 = 4 valeurs différentes.
n = 3 ⇒ …
Etc.

 ADDITION DE BITS

o 0 + 0 = 0
o 0 + 1 = 1
o 1 + 0 = 1
o 1 + 1 = 10

REPRESENTATION DES NOMBRES - PAGE 2


Ousmane NGOM – Licence Robotique – 2021/2022

Base 10 Base 2 Base 16


0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 𝐴
11 1011 𝐵
12 1100 𝐶
13 1101 𝐷
14 1110 𝐸
15 1111 𝐹

2. Changement de base (entiers)


Soit X = (𝑥𝑛−1, … , 𝑥𝑛2, 𝑥𝑛1 , 𝑥𝑛0 ) avec 𝑥𝑖 appartenant aux symboles de la base.

 Changement de la base 𝒃 à la base 𝟏𝟎 :


Il suffit de faire le développement polynomial :
𝒏

∑ 𝒃𝒊 𝒙𝒏𝒊
𝒊=𝟎

Exemple :
b = 2 ⇒ b = 10
(1001)2 = (1 ∗ 23 + 0 ∗ 22 + 0 ∗ 21 + 1 ∗ 20 )10 = (8 + 0 + 0 + 1)10 = (9)10

Exercice d’application:

REPRESENTATION DES NOMBRES - PAGE 3


Ousmane NGOM – Licence Robotique – 2021/2022

(357)8 = (3 ∗ 82 + 5 ∗ 81 + 7 ∗ 80 )10 = (192 + 40 + 7)10 = (239)10


(420)5 = (4 ∗ 52 + 2 ∗ 51 + 0 ∗ 50 )10 = (100 + 10)10 = (110)10
(802)16 = (8 ∗ 162 + 0 ∗ 161 + 2 ∗ 160 )10 = (2048 + 0 + 2)10 = (2050)10
(𝐹𝐹)16 = (15 ∗ 161 + 15 ∗ 160 )10 = (240 + 15)10 = (255)10

 Changement de la base 𝟏𝟎 vers la base b:


 Divisions (entiers) successives du nombre en base 10 par 𝑏.
 Répéter le processus avec les quotients, jusqu’à obtenir un quotient nul ;
 Prendre les restes du dernier au premier.

Exemple :
(37)10 ⇒ ( ? )2

37 2

𝟏 18 2

𝟎 9 2

𝟏 4 2

𝟎 2 2

𝟎 1 2

𝟏 0

(37)10 = (100101)2

Exercice d’application:
(275)10 ⇒ (100010011)2
(240)10 ⇒ (36)8
(1275)10 ⇒ (4𝐹𝐵)16
(123)10 ⇒ (1323)4

 Conversion base 𝟏𝟎 → base 𝟐 (réel)


 Réel : une partie entière et une partie fractionnaire
1) On convertit la partie entière selon la méthode déjà vue (division successive)
2) On convertit la partie fractionnaire par multiplication successive avec la base. Le nombre de bits
après la virgule peut être infini (Tronquer/Arrondi).

Exemple:
(12,75)10 ⇒ ( ? )2
(12)10 = 1100
0,75 ∗ 2 = 1.5
} conversion de la partie fractionnaire
0,5 ∗ 2 = 1
(12,75)10 ⇒ (1100,11)2

REPRESENTATION DES NOMBRES - PAGE 4


Ousmane NGOM – Licence Robotique – 2021/2022

Exercice d’application:
(0,5)10 ⇒ (0,1 )2
(37,25)10 ⇒ (100101,01)2
(0,1)10 ⇒ (0,0001100 … )2
(0,2)10 ⇒ (0,00110011 … )2
(10,325)10 ⇒ (1010,0101001 … )2

 Développement polynomiale, avec les exposants négatifs pour la partie fractionnaire, de la gauche vers
la droite, en commençant par −1.
1
(100101,01)2 ⇒ 25 + 22 + 20 + 2−2 = 32 + 4 + 1 +
22
1
= 37 + = 37 + 0,25
4

= 37,25

 Conversion rapide binaire, octal, hexadécimal

a. Octal ⇒ binaire :
 Casser chaque symbole octal à son équivalence binaire, sur 𝟑 𝒃𝒊𝒕𝒔.

Exemple :
(375)8 = (011 111 101)2

 Il faut partir de la droite vers la gauche (partie entière), et de la gauche vers la droite pour la partie
fractionnaire. Si nécessaire, ajouter des zéros pour avoir les 3 𝑏𝑖𝑡𝑠.

Exercice d’application :
(13,25)8 = (001 011, 010 101)2
(406)8 = (100 000 110)2
(75,274)8 = (111 101, 010 111 100)2

b. Binaire ⇒ Octal
 Regroupement par 3 𝑏𝑖𝑡𝑠 : de la droite vers la gauche pour la partie entière, de la gauche vers la droite
pour la partie fractionnaire.

Exemples :
(1001,101000)2 = (001 001, 101 000)2 = (11,50)8
(10,0001)2 = (010, 000 100)2 = (2,04)8

REPRESENTATION DES NOMBRES - PAGE 5


Ousmane NGOM – Licence Robotique – 2021/2022

c. Conversion binaire ⇒ Hexadécimal - Hexadécimal ⇒ binaire


 Même règle que pour binaire ⇒ octal, sauf qu’on regroupe ou éclate par groupe de 𝟒 𝒃𝒊𝒕𝒔 au lieu de 𝟑.

Exemples :
(100110,0011010)2 = (0010 0110, 0001 1010)2 = (26,34)16
(1001001)2 = (0100 1001)2 = (49)16
(11,0001110)2 = (0011, 0000 1110)2 = (3,38)16

 Conversion base 𝒃𝟏 vers 𝒃𝟐


 S’il y a une règle explicite ⇒ l’utiliser
 Passer par la base 10.

𝒃𝟏 𝒃𝟐

𝐷é𝑣𝑒𝑙𝑜𝑝𝑝𝑒𝑚𝑒𝑛𝑡 𝐷𝑖𝑣𝑖𝑠𝑖𝑜𝑛 𝑠𝑢𝑐𝑐𝑒𝑠𝑠𝑖𝑣𝑒


𝑝𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙 𝑝𝑎𝑟 𝑏2

𝒃𝒂𝒔𝒆 𝟏𝟎

3. Arithmétique avec les entiers


A. Les entiers naturels
Fixer une taille (nombre de bits, multiple de 2 : 16, 32, 64). Si taille = n, on pourra représenter les entiers
naturels [0, . . ., 2𝑛 − 1].

Exemple:
𝑛 = 3 ⇒ [0, … , 7]
000
111
010
011
100
101
110
111

 La valeur du nombre correspond à sa représentation en binaire.

REPRESENTATION DES NOMBRES - PAGE 6


Ousmane NGOM – Licence Robotique – 2021/2022

B. Les entiers relatifs

 Problème : comment représenter le signe (+ ou -)


 Fixer une taille : 𝑛 𝑏𝑖𝑡𝑠
 On utilise le bit de poids fort (le plus à gauche) pour coder le signe :
o Si ce 𝒃𝒊𝒕 = 𝟎 ⇒ nombre positif
o Si ce 𝒃𝒊𝒕 = 𝟏 ⇒ nombre négatif

De manière générale, avec n bits on peut représenter les entiers relatifs dans [−2𝑛−1 … 2𝑛−1 − 1].

Exemple :
𝑛 = 8 [−27 … 27 − 1] ⇒ [−128 … 127]

Différentes techniques ont été utilisées pour coder les entiers relatifs avec le bit de poids = signe.
 Représentation par (signe, valeur absolue) ⇒ abandonnée.
 Représentation complément à 𝟏 (c.-à-d. 𝟏) ⇒ abandonnée
Pour un nombre dont la représentation binaire est sur n bits, son complément à 1 est le nombre binaire
obtenu en changeant chaque 𝑏𝑖𝑡 à 0 en 1 et le 𝑏𝑖𝑡 1 en 0.
Exemple :
Complément à 1 : (1000100)2 ⇒ 0111011

 Complément à 2 :
 Gain économique :
⇒ Permet de transformer les soustractions en addition ;
⇒ Permet d’utiliser un seul circuit pour faire à la fois les additions et les soustractions.

 Calcul de complément à 2 :
 Taille = 𝑛 ;
 Nombre positif ⇒ représentation binaire ;
 Nombre négatif ⇒ on prend le 𝐶 à 2 (représentation binaire) ;
 2 manières de calculer le 𝐶 à 2 :
1) Partir de la droite jusqu’à rencontrer le 1𝑒 bit à 1, conserver telle qu’est la partie à droite, et
pour la gauche transformer les 1 en 0 et les 0 en 1.
Exemple :
𝑛 = 8 1001001 ⇒ 𝐶 à 2: 0110111
00101000 ⇒ 11011000

2) 𝐶 à 2 = 𝐶 à 1 + 1

Addition en 𝑪 à 𝟐 d’entiers relatifs


𝑡𝑎𝑖𝑙𝑙𝑒 = 𝑛 𝑏𝑖𝑡𝑠
Résumé { 0 ⇒ positif
𝑏𝑖𝑡 … 𝑠𝑖𝑔𝑛𝑒 ⇒ bit de poids fort {
1 ⇒ négatif
 Si c’est un nombre positif ⇒ prendre sa représentation binaire sur 𝑛 𝑏𝑖𝑡𝑠 ;

REPRESENTATION DES NOMBRES - PAGE 7


Ousmane NGOM – Licence Robotique – 2021/2022

 Si c’est un nombre négatif ⇒ prendre sa représentation binaire sur 𝑛 𝑏𝑖𝑡𝑠 et calculer son 𝐶 à 2 ;
 Faire la somme de représentation en 𝐶 à 2, et ignorer éventuellement la (𝑛 + 1)𝑛𝑖è𝑚𝑒 retenue ;
 Interpréter le résultat :
 Si c’est 2 nombres de même signe et le résultat est d’un signe diffèrent, il y a dépassement de
capacité (Overflow) ⇒ résultat incorrect car la valeur nécessite plus de 𝑛 𝑏𝑖𝑡𝑠 pour le
contenu. Ceci n’arrive pas aux nombres de signes différents.
 Si on n’est pas dans un cas de dépassement de capacité :
o Si le signe du résultat est positif (0) ⇒ convertir en base 10 pour vérifier.
o Si le signe du résultat est négatif (1) :
⇒ Calculer le 𝐶 à 2 du résultat ;
⇒ Calculer la valeur absolue en convertissant le 𝐶 à 2 en base 10.
⇒ Ajouter un signe (−) à la valeur absolue pour avoir le résultat final en base 10.

C. Représentation des réels (flottants)


Représentation avec une flottante (en jouant sur l’aspect).
102,75 ∗ 100
(102,75)10 { 10,275 ∗ 101
1027,5 ∗ 10−1
1001,101 ∗ 20
(1001,101)2 = { 100,1101 ∗ 21
10011,01 ∗ 2^ − 1

La norme 𝑰𝑬𝑬𝑬 − 𝟕𝟓𝟒


Elle est basée sur la représentation des réels en virgule flottante avec des contraintes.

Signe Exposant décalé Pseudo-mantisse











.
.
.
.

1 𝑏𝑖𝑡 𝑒 𝑏𝑖𝑡 𝑝 𝑏𝑖𝑡𝑠

a. Représentation normalisée d’un réel en virgule flottante


1001,101 ∗ 𝟐𝟎
(1001,101)2 = {10011,01 ∗ 2−1 ⇒ La représentation n’est pas unique
1,001101 ∗ 23
La norme fixe la contrainte de représenter les flottants de manière unique sous la forme :

𝟏, . . . . . . .∗ 𝟐𝒆𝒙𝒑𝒐𝒔𝒂𝒏𝒕 𝒓𝒆𝒆𝒍

i. e. le 1er 𝑏𝑖𝑡 avant la virgule doit obligatoirement être égal à 1 ⇒ 𝑙𝑎 𝑟𝑒𝑝𝑟é𝑠𝑒𝑛𝑡𝑎𝑡𝑖𝑜𝑛 𝑑𝑒𝑣𝑖𝑒𝑛𝑡 𝑢𝑛𝑖𝑞𝑢𝑒.

(1001,111)2 ⇒ 𝟏, 𝟎𝟎𝟏𝟏𝟏𝟏 ∗ 𝟐𝟑 𝐸𝑥𝑝𝑜𝑠𝑎𝑛𝑡


.
.
{.
.

𝑟é𝑒𝑙
𝐵𝑖𝑡 𝑝𝑠𝑒𝑢𝑑𝑜 − 𝑚𝑎𝑛𝑡𝑖𝑠𝑠𝑒
𝑖𝑚𝑝𝑙𝑖𝑐𝑖𝑡𝑒

REPRESENTATION DES NOMBRES - PAGE 8


Ousmane NGOM – Licence Robotique – 2021/2022

b. Représentation de la norme
Une fois le réel en base 2 est représenté de manière normalisée, sous la forme 𝟏, . . . . . . 𝟐𝒆𝒙𝒑𝒐𝒔𝒂𝒏𝒕 𝒓𝒆𝒆𝒍



.
⇒ 𝒑 + 𝟏 ⇒ 𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 𝑝 𝑏𝑖𝑡𝑠

32 (𝑠𝑖𝑚𝑝𝑙𝑒 𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛)
⇒ 𝟏 + 𝒑 + 𝒓 ⇒ 𝑡𝑎𝑖𝑙𝑙𝑒 {64 (𝑑𝑜𝑢𝑏𝑙𝑒 𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛)
128 (𝑞𝑢𝑎𝑑𝑟𝑢𝑝𝑙𝑒 𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛)
0 ⇒ 𝑝𝑜𝑠𝑖𝑡𝑖𝑓
⇒ 𝑳𝒆 𝒃𝒊𝒕 𝒅𝒆 𝒔𝒊𝒈𝒏𝒆 {
1 ⇒ 𝑛é𝑔𝑎𝑡𝑖𝑓

 Calcul du biais : Biais = 𝟐𝒆−𝟏 − 𝟏

 Calcul de l'exposant décalé : 𝑬𝒙𝒑𝒐𝒔𝒂𝒏𝒕 𝒅é𝒄𝒂𝒍é = 𝒆𝒙𝒑𝒐𝒔𝒂𝒏𝒕 𝒓é𝒆𝒍 + 𝒃𝒊𝒂𝒊𝒔

Pseudo-
taille exposant précision 𝐞𝐫𝒎𝒊𝒏 𝐞𝐫𝒎𝒂𝒙
mantisse

Simple
précision 32 1 8 26 −126 127

Double
précision 64 1 11 52 −1022 1023

Quadruple
précision 128 1 15 112 −16382 16383

1 − 𝑒𝑟𝑚𝑎𝑥 2𝑒−1 − 1
⇒ exposant décalé : toujours ≥ 0
⇒ Pas d’erreurs générées lors des calculs, mais il y a des chapeaux.

c. Valeurs particulières
L’exposant décalé peut-être ≥ 0. Cependant, les valeurs extrêmes (tous les 𝑏𝑖𝑡𝑠 à 0 ou tous les 𝑏𝑖𝑡𝑠 à 1) sont
utilisées pour représenter des valeurs particulières.

Exposant décalé Pseudo-mantisse Interprétation

Représentation de la valeur 0 (selon le signe


Tous les 𝑏𝑖𝑡𝑠 à 0 Tous les 𝑏𝑖𝑡𝑠 à 0
+ 0 ou − 0)

Tous les 𝑏𝑖𝑡𝑠 à 0 au moins 1 𝑏𝑖𝑡 non nul Représentation d’un nombre dénormalisé

Représentation d’une valeur infinie (selon le signe


Tous les 𝑏𝑖𝑡𝑠 à 1 Tous les 𝑏𝑖𝑡𝑠 à 0
+ ∞ ou – ∞)

Tous les 𝑏𝑖𝑡𝑠 à 1 Au moins 1 𝑏𝑖𝑡 non nul Représentation d’une valeur 𝑁𝑎𝑁 (not a number)

REPRESENTATION DES NOMBRES - PAGE 9


Ousmane NGOM – Licence Robotique – 2021/2022

Exemple :
(8,75)10 ⟶ (1000,11)2
Normaliser la représentation avec une pseudo-mantisse qui a 8 𝑏𝑖𝑡𝑠

1,0001100 ∗ 23

1 4 8

0 1010 00011000

𝑏𝑖𝑎𝑖𝑠 = 2𝑒−1 − 1
Si 𝑒 = 4 ⇒ 𝑏𝑖𝑎𝑖𝑠 = 23 − 1 = 7
𝑒𝑥𝑝𝑜𝑠𝑎𝑛𝑡 𝑑é𝑐𝑎𝑙é = 𝑒𝑅 + 𝑏𝑖𝑎𝑖𝑠 = 3 + 7 = 10
10 ⟶ (1010)2

La forme normalisée ne peut pas représenter 𝟎 et les petites valeurs au voisinage de 𝟎.

Vocabulaire :
Coder un réel dans la norme : Donner sa représentation dans une norme.
Décoder une valeur binaire : Traduire la valeur binaire en base 10 selon la norme.

⇒ Une taille est toujours fixée et le nombre de bit pour l’exposant décalé et les pseudo-mantisses précisées.
⇒ Si c’est une valeur particulière (±0, ±∞, 𝑁𝑎𝑛) ⇒ Voir comment c’est décoder.
⇒ Si c’est une valeur proche de 0 et non représentable par la norme ⇒ forme dénormalisée
⇒ Si c’est une valeur représentable par la norme :
 Normaliser sa représentation binaire 1, . . . . . .∗ 2eR ;
 Selon que c ′ est positif ou négatif ⇒ 𝑏𝑖𝑡 signe = (0 ou 1) ;
 Extraire le nombre de 𝑏𝑖𝑡 égal à la taille de la pseudo-mantisse, quitte à ajouter des 0 à titre non
significatif à droite ;
 Calculer l′ 𝑒𝑥𝑝𝑜𝑠𝑎𝑛𝑡 𝑑é𝑐𝑎𝑙é = 𝑒𝑅 + 𝑏𝑖𝑎𝑖𝑠 = 2𝑒−1 − 1 si 𝑒 𝑏𝑖𝑡𝑠 sont utilisées par l′ exposant ;
 Traduire l′ exposant décalé en base 2.

REPRESENTATION DES NOMBRES - PAGE 10

Vous aimerez peut-être aussi