A.4 Nombres binaires négatifs - Diuf

publicité
Architecture des ordinateurs
Béat Hirsbrunner
S2 - 25 octobre 2006
Annexe A: Numérotation binaire
A.1
A.2
A.3
A.4
A.5
Nombres en précision finie
Représentation des nombres
Conversion d’une base à une autre
Nombres binaires négatifs
Arithmétique binaire
B.1 Principes des nombres en virgules flottantes
1
A.1 Nombres en précision finie
•
Les ordinateurs utilisent une autre arithmétique que les humains
•
•
•
•
•
•
•
Les physiciens disent: Il y a 10 puissance 78 électrons dans l’univers…
Les chimistes disent : …
Les philosophes disent : …
Les mathématiciens disent : …
Les reporters sportifs disent : …
Les ordinateurs disent : j’aime les 0 et 1 et je préfère travailler avec des
nombres contenant un nombre fini de chiffres (8 bits, 16 bits, …)
Exemple: Ensemble des entiers positifs avec 3 chiffres décimaux
L’ensemble comprend exactement 100 éléments: 000, 001, …, 999
• Certains nombres ne peuvent pas être représentés:
•
 Les nombres supérieurs à 999
 Les nombres négatifs
 …
•
L’arithmétique n’est pas fermée (au regard des opérations +, - *):
 600 + 600 = 1200 (trop grand)
 003 - 005 = -2 (négatif)
 …
•
L’algèbre des nombres en précision finie est différente de l’algèbre normale:
 a + (b - c) = (a + b) - c
(avec a=700, b=400, c=300: a+b est trop grand, mais pas a+(b-c))
2
A.2 Représentation des nombres (1/3)
• Base naturelle pour les humains : 10
• Base naturelle pour les ordinateurs d’aujourd’hui: 2, 8, 16, …:
01
01234567
0123456789ABCDEF
…
3
A.2 Représentation des nombres (2/3)
4
A.2 Représentation des nombres (3/3)
5
A.3 Conversion d’une base à une autre (1/2)
6
A.3 Conversion d’une base à une autre (2/2)
7
A.4 Nombres binaires négatifs (1/5)
1.
Valeur signée (Signed Magnitude)
•
2.
Le premier bit représente le signe (0=positif, 1=négatif)
Complément à un (one’s complement)
•
•
Le premier bit représente le signe (0=positif, 1=négatif)
Tous les 1 sont remplacés par des 0 et tous les 0 par des 1
3.
Complément à deux (two’s complement)
4.
Le premier bit représente le signe (0=positif, 1=négatif)
•
Tous les 1 sont remplacés par des 0 et tous les 0 par des 1
•
Puis on rajoute 1 au résultat
Excédent 2m-1 (excess 2m-1)
•
•
On additionne 2m-1 aux nombres à m bits
Remarques
•
•
•
•
(1) et (2) ont deux représentations différentes pour le zéro !
(3) et (4) n’ont pas le même nombre de chiffres positifs et négatifs !
(3) et (4) ne se différencient que sur le premier bit !
Pour toutes les représentations, le signe est encodé dans le premier bit !
8
A.4 Nombres binaires négatifs (2/5)
0
1
2
3
-0
-1
-2
-3
000
001
010
011
100
101
110
111
Valeur signée
0
1
2
3
-3
-2
-1
-0
000
001
010
011
100
101
110
111
Complément à un
9
A.4 Nombres binaires négatifs (3/5)
000
111
-1
110
001
0
1
-2
2
-3
101
010
3
-4
011
100
Complément à 2
10
A.4 Nombres binaires négatifs (4/5)
000
111
-3
3
110
001
-4
2
-2
1
101
010
-1
0
011
100
Codage par excédent 2m-1
11
A.4 Nombres binaires négatifs (5/5)
12
A.5 Arithmétique binaire
13
A.5 Arithmétique binaire
14
B.1 Principes
•
Notation scientifique:
e
 n = m * 10 , avec m = mantisse et e = exposant
•
Virgule flottante:
 0 ≤ |m| < 1, par exemple 2002 s’écrit 0,2002 * 104
15
Téléchargement