Académique Documents
Professionnel Documents
Culture Documents
nombres
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 𝑐𝑒𝑛𝑡𝑎𝑖𝑛𝑒
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
∑ 𝒃𝒊 𝒙𝒏𝒊
𝒊=𝟎
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:
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
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
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
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
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
𝒃𝟏 𝒃𝟐
𝒃𝒂𝒔𝒆 𝟏𝟎
Exemple:
𝑛 = 3 ⇒ [0, … , 7]
000
111
010
011
100
101
110
111
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
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.
.
.
.
.
𝟏, . . . . . . .∗ 𝟐𝒆𝒙𝒑𝒐𝒔𝒂𝒏𝒕 𝒓𝒆𝒆𝒍
i. e. le 1er 𝑏𝑖𝑡 avant la virgule doit obligatoirement être égal à 1 ⇒ 𝑙𝑎 𝑟𝑒𝑝𝑟é𝑠𝑒𝑛𝑡𝑎𝑡𝑖𝑜𝑛 𝑑𝑒𝑣𝑖𝑒𝑛𝑡 𝑢𝑛𝑖𝑞𝑢𝑒.
𝑟é𝑒𝑙
𝐵𝑖𝑡 𝑝𝑠𝑒𝑢𝑑𝑜 − 𝑚𝑎𝑛𝑡𝑖𝑠𝑠𝑒
𝑖𝑚𝑝𝑙𝑖𝑐𝑖𝑡𝑒
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 ⇒ 𝑛é𝑔𝑎𝑡𝑖𝑓
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.
Tous les 𝑏𝑖𝑡𝑠 à 0 au moins 1 𝑏𝑖𝑡 non nul Représentation d’un nombre dénormalisé
Tous les 𝑏𝑖𝑡𝑠 à 1 Au moins 1 𝑏𝑖𝑡 non nul Représentation d’une valeur 𝑁𝑎𝑁 (not a number)
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
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.