Annexe A: Numérotation binaire Architecture des ordinateurs Béat Hirsbrunner S2 - 25 octobre 2006 Annexe A: Numérotation binaire A.1 Nombres en précision finie A.2 Représentation des nombres A.3 Conversion d’une base à une autre A.4 Nombres binaires négatifs A.5 Arithmétique binaire B.1 Principes des nombres en virgules flottantes nfnfdnfnfn
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)) nfnfdnfnfn
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 … nfnfdnfnfn
A.2 Représentation des nombres (2/3) nfnfdnfnfn
A.2 Représentation des nombres (3/3) nfnfdnfnfn
A.3 Conversion d’une base à une autre (1/2) nfnfdnfnfn
A.3 Conversion d’une base à une autre (2/2) nfnfdnfnfn
A.4 Nombres binaires négatifs (1/5) Valeur signée (Signed Magnitude) Le premier bit représente le signe (0=positif, 1=négatif) Complément à un (one’s complement) Tous les 1 sont remplacés par des 0 et tous les 0 par des 1 Complément à deux (two’s complement) 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 ! nfnfdnfnfn
A.4 Nombres binaires négatifs (2/5) 1 2 3 000 100 001 101 110 111 010 011 -0 -1 -2 -3 Valeur signée 1 2 3 000 100 001 101 110 111 010 011 -3 -2 -1 -0 Complément à un nfnfdnfnfn
A.4 Nombres binaires négatifs (3/5) 000 100 001 101 110 111 010 011 1 2 3 -4 -1 -2 -3 Complément à 2 nfnfdnfnfn
A.4 Nombres binaires négatifs (4/5) 000 111 001 -4 -3 -2 -1 3 2 1 110 010 101 011 100 Codage par excédent 2m-1 nfnfdnfnfn
A.4 Nombres binaires négatifs (5/5) nfnfdnfnfn
A.5 Arithmétique binaire nfnfdnfnfn
A.5 Arithmétique binaire nfnfdnfnfn
B.1 Principes Notation scientifique: Virgule flottante: n = m * 10e, avec m = mantisse et e = exposant Virgule flottante: 0 ≤ |m| < 1, par exemple 2002 s’écrit 0,2002 * 104