Représentation binaire des nombres relatifs
• On ajoute un autre bit (à gauche) pour symboliser le signe :
- Si ce bit = 0 ⇒ Le nombre est Positif
- Si ce bit = 1 ⇒ Le nombre est négatif
• Exemple : (29)10 = (11101)2 ( représenté sur 5 bits)
(-29)10 = ( 1 11101)2
(+29)10 = ( 0 11101 )2
Les bits grandeur
Le bit signe
Nombre Signé
Représentation valeur absolue et Signée
2
Représentation binaire des nombres relatifs
• Limites sur 8 bits:
+ 127 (0 1111111)2
+ 0 (0 0000000)2
- 0 (1 0000000)2
- 127 (1 1111111)2
Valeur absolue et signée – Exemple sur 8 bits
Inconvénient:
Cette représentation ne convient pas pour représenter les nombres négatifs : 0 a deux représentations, la somme de deux nombres opposés n’est pas nulle
3
Représentation binaire des nombres relatifs
• Limites sur 8 bits:
+ 127 (0 1111111)2
+ 0 (0 0000000)2
- 0 (1 1111111)2
- 127 (1 0000000)2
Complément à 1 d’un nombre binaire
• Le complément à 1 « ou Complément restreint (CR) » d’un nombre est obtenu en inversant chaque bit (0 → 1 et 1 → 0).
⇒ Complémenter chaque bit de grandeur
• Exemple : (+29)10 = (011101)2 ( représenté sur 6 bits)
CR(29)10 = (100010)2
• Sur n bits:
x + CR(x) = 2n - 1
4
Représentation binaire des nombres relatifs
Complément à 2 d’un nombre binaire
Le complément à 2 « ou Complément Vrai (CV) » d’un nombre est le complément à 1 auquel on ajoute 1
⇒ CV = CR + 1
• Exemple : (+29)10 = (011101)2 ( représenté sur 6 bits)
CR(29) = (100010)2
CV(29) = CR(29) + 1 = (100011)2
(- 29)10 = CV(29)
5
Représentation binaire des nombres relatifs
Complément à 2 d’un nombre binaire
soit x un nombre binaire qui s’écrit sur n bits alors
CV(x) = - x
• En effet :
on a:
x + CR(x) = 2n - 1
⇒ x + CR(x) + 1 = 2n
⇒ x + CV(x) = 2n = (1000….00000)2
⇒ x + CV(x) = 0 sur n bits
⇒ CV(x) = - x
n bits
6
• Représentation sur 4 bits des nombres positifs et négatifs dans les ordinateurs
| a3 | a2 | a1 | a0 |
+7 | 0 | 1 | 1 | 1 |
+6 | 0 | 1 | 1 | 0 |
+5 | 0 | 1 | 0 | 1 |
+4 | 0 | 1 | 0 | 0 |
+3 | 0 | 0 | 1 | 1 |
+2 | 0 | 0 | 1 | 0 |
+1 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 |
-1 | 1 | 1 | 1 | 1 |
-2 | 1 | 1 | 1 | 0 |
-3 | 1 | 1 | 0 | 1 |
Représentation binaire des nombres relatifs
7
Entiers signés en binaire : résumé
Dans tous les cas:
8
De la même façon, en notation octale, on peut représenter les nombres négatifs
Pour A>0 : - A = CV(A) = CR(A)+1
Où CR(A) le complément restreint de A, est obtenu en complémentant à 7 le nombre A exprimé en octale
Exemple:
Sur 4 digits, A= (+5)10 = (0005)8
(-5)10 = (?)8
CR(A) = (7772)8
(-5)10 = CV(A) = CR(A)+(0001)8 = (7773)8
Représentation octale des nombres relatifs
9
De la même façon, en notation hexadécimale, on peut utiliser le complément vrai ou le complément à 16 pour représenter les nombres négatifs.
Pour A>0, -A = CV(A) = CR(A)+1
Où CR(A) est obtenu en complémentant à F le nombre A exprimé en hexadécimale
Exemple:
Sur 4 digits : +22 = (0016)16
CR(22) = (FFE9)16
-22 = CV(22) = CR(22)+(0001)16 = (FFFA)16
Représentation hexadécimale des nombres relatifs
10
Problèmes liés à la longueur des nombres
Les circuits traitant des nombres de n bits, y compris le bit de signe, peuvent manipuler tous les nombres compris entre - 2n-1 et 2n-1 -1
• Exemple :n = 8 ⇒ intervalle allant de – 128 à + 127
• Les résultats partiels ou définitifs d’opérations mathématiques ne doivent pas sortir de cet intervalle
• Cas de l’addition:
11
Problèmes liés à la longueur des nombres
• Addition sur 8 bits ⇒ intervalle allant de – 128 à + 127
12
Représentation des réels
Soit N un nombre réel à Virgule fixe, alors
,
32
32
Partie entière
Partie fractionnaire
N =
Inconvénients :
13
Représentation des réels
N = (-1)s × 1.M × Be
où : M = mantisse
B = base
e = exposant
s = signe de la mantisse
Exemples:
(101)10 = 1.01 × 102 = 0.101 × 103 = ….
(- 5)10 = (- 101)2 = - 1.01 × 22
14
Standard IEEE 754 (1985)
simple précision sur 32 bits :
1 bit de signe de la mantisse
8 bits pour l’exposant
23 bits pour la mantisse
double précision sur 64 bits :
1 bit de signe de la mantisse
11 bits pour l’exposant
52 bits pour la mantisse
SM E M
1bit 8 bits 23 bits
SM E M
1bit 11 bits 52 bits
SM = 0 pour + , 1 pour -
E = codage de l’exposant par excédant càd e+127 ou e+1023
M = mantisse normalisée
En simple précision, x = (-1)SM * 2(E-127) * 1.M
En double précision, x = (-1)SM * 2(E-1023) * 1.M
Représentation des réels
Norme IEEE 754 avec simple précision
Exemple :
(1000)10 = (3E8)16 = (1111101000)2 = 1.111101000 × 29
SM = 0 car nombre positif
e = 9 donc E= e+ 127 = 136 = (10001000)2
M = 111101000
0 10001000 11110100000000000000000
Représentation des réels
Exemple: Quel est le nombre A codé avec simple précision par:
A= 1 10000011 01000000000000000000000
A= (-1)1 x 2131-127 x 1.01 = -1 x 24 x 1.25 = -20
16
(327)10 →(00000011 00000010 00000111)BCD
Autre Représentation interne de l’information
17
Le code ASCII (American Standard Code for Information Interchange) Code standard Américain pour l’échange d’information
C'est le système de codage universel. C'est un code à 7 positions, le huitième bit étant réservé à la parité, ce qui fait 27=128 caractères représentables. Ce code comprend :
Autre Représentation interne de l’information
18
Autre Représentation interne de l’information
19
Autre Représentation interne de l’information
20
Autre Représentation interne de l’information
Exemple 1: Coder en ASCII le mot INFORMATIQUE
Le codage sur un octet du mot INFORMATIQUE est:
01001001 01001110 01000110 01001111 01010010 01001101 01000001 01010100 01010100 01001001 01010001 01010101 01000101
21
Exemple 2
Donner le codage ASCII de la chaîne de caractères ``Bonjour Monsieur !'',
En décimal :
En hexadécimal
En binaire (sur 4 Bits)
Autre Représentation interne de l’information