La Numération Système binaire mathématique, Système binaire signé, Système en virgule flottante, Système en base b, Codage par DCB 1
I. Rappel sur le système décimal Définitions Chiffres décimaux : 0,1,2,3,4,5,6,7,8,9 Nombre décimal positif : suite finie ou non de chiffres qui peut comporter une virgule Entier naturel : suite finie de chiffres décimaux ne comportant pas de virgule La valeur d un nombre décimal s obtient via la relation a n a 1 a 0.a 1 a k = a n 10 n + +a 1 10 1 +a 0 + a 1 10 + +a k 10 k Exemple : 825.201 = 8 10 3 + 2 10 2 + 5 + 2 10 + 1 10 3 2
II. Le système binaire mathématique But : remplacer le nombre 10 par 2. Chiffres binaires : 0,1 Nombre binaire, Entier binaire Exemples : 0 = 0 2, 1 = 1 2, 2 = 1 2 1 + 0 2 0 = 10 2, 3 = 11 2 0.5 = 1 1 2 = 0.1 2 II. 1. Conversion Binaire-Décimal Sens facile : ( an a 1 a 0.a 1 a k )2 = a n2 n + +a 1 2 1 +a 0 + a 1 2 + +a k 2 k Exemples : 1101 2 = 13 et 1.011 2 = 1.375 3
II. 2. Conversion Décimal-Binaire Cas d un entier naturel A ln Théorème Tout entier A s écrit de manière unique A = a n 2 n + 2a 1 + a 0 où a i {0, 1}. On note A = (a n a 1 a 0 ) 2. Exemple 59 = 111011 2 En pratique, on fait les divisions euclidiennes successives par 2 jusqu à obtention d un quotient nul et on remonte les restes. 4
Cas d un réel F ]0, 1[ Remarque 0.5 = 0.1 2 = 0.01111111111 2 ne pas espérer une écriture unique Théorème Si F ]0, 1[, on peut écrire F = k 1 a k 2 k où les a k sont des chiffres binaires non tous égaux à 1. Méthode 0.78125 = 0.11001 2 0.78125 2 = 1.5625 a 1 = 1 0.5625 2 = 1.125 a 2 = 1 0.125 2 = 0.25 a 3 = 0 0.25 2 = 0.5 a 4 = 0 0.5 2 = 1 a 5 = 1 STOP 5
Cas d un réel positif X = A + F avec A ln et F ]0, 1[ Exemple : X=59.78125 = 111011.11001 2 Remarque Avec ce système, on écrit un réel négatif en utilisant le sigle -. Le système signé permettra d écrire des réels négatif sans utilisation d un sigle supplémentaire. II. 3. Opérations On calque les méthodes de la base 10 avec les systèmes de retenues cf TD. Exemples : 111 2 + 110 2, 11101 2 1011 2, 11000 2 10011 2 6
II. 4. Soustraction par complémentaire Définitions Si A = a n a 0 (a n = 1) est un entier binaire, la longueur de A est l entier A = n + 1 et le complément à 1 de A est A = a n a 0 avec a i = 1 a i. Le complément à 1 de A sur p bits avec p n + 1 bits est Deux identités : C 1p (A) = 1 1a n a 0 } {{ } p bits A + A + 1 = 2 n+1 A + C 1p (A) + 1 = 2 p 7
Théorème Soit B = b p 1 b 0 (b p 1 = 1) et A = a n a 0 avec n p 1. Pour calculer B A (avec B > A), on met A sur p bits (en ajoutant des 0) et B A = B + C 1p (A) + 1 2 p Exemples 11110000 10001110, 11110000 10111 n = p = 8 11110000 +01110001 +1 10 1100010 } {{ } B A n p 11110000 +11101000 +1 1 11011001 } {{ } B A 8
Définition Le complément à 2 de A sur p bits avec p n + 1 bits est Identités C 2p (A) = C 1p (A) + 1 A + C 2p (A) = 2 p = 1 0 0 } {{ } p B A = B + C 2p (A) 2 p Cas particulier important : p = A On note C 2 (A) = C 2 A (A). A + C 2 (A) = 2 A et 2 A = 1 } 0 {{ 0 } = A + 1 > A A 9
III. Système binaire signé Une machine écrit des nombres sur N bits avec N fixé 2 N caractères Ecriture des entiers binaires positifs uniquement : écriture non signée du système binaire classique (cf partie II). On écrit les entiers de 0 à 2 N 1. Cas de l octet : N = 8 2 8 1 = 255 L écriture signée permet de représenter les entiers positifs et négatifs de 2 N 1 à 2 N 1 1. 10
III.1. Ecriture signée des entiers positifs sur N bits Leurs écritures commencent par 0 et se fait sur au plus N 1 bits significatifs A := 0 0a k a 0 } {{ } N bits où a k a 0 est l écriture binaire mathématique de A (a k = 1). Notation A := 0 0A 2 On écrit 2 N 1 caractères les entiers de 0 à 2 N 1 1. 11
III.2. Ecriture signée des entiers négatifs sur N bits Leurs écritures commencent par 1 et se fait sur au plus N 1 bits significatifs. On écrit 2 N 1 caractères entiers de 2 N 1 à 1. 1a N 2 a 0 } {{ } N bits représente l entier relatif x = 2 N 1 + a N 2 2 N 2 + + a 0. Exemple ±1 en signé sur 8 bits. Attention 1 := 00000001, 1 := 11111111 (1a N 2 a 0 ) 2 sens signé de 1a N 2 a 0. (1a N 2 a 0 ) 2 = +2 N 1 + a N 2 2 N 2 + + a 0 = 2 N 1 + 2 N 1 +x = 2 N + x = C 2,N ( x) 12
Théorème Soit x { 2 N 1,, 1}. La représentation signée de x sur N bits est C 2,N ( x). Remarque En signé sur N bits, x > 0 x + ( x):= x + C 2,N (x) = 2 N = 0 Intêret Si A, B {0, 2 N 1 1} se représentent en signé sur N bits, B A se représente aussi en signé sur N bits et Inconvénients B A = B + ( A). s adapte mal aux sommes ne respecte pas l ordre des entiers : par habitude, 101 > 001!!! faux en signé. Ecriture des réels 13
IV. Système en virgule flottante Représentation des réels qui permet de faire flotter la virgule décimale Norme (internationale) admise IEEE 754 Simple précision : 32 bits Double précision : 64 bits la plus courante pour les calculs Grande précision : 80 bits Not a Number : NaN Message d erreur 14
IV. 1 Simple précision Un réel x peut s écrire 1 bit de signe de x x = ± M 2 e 8 bits pour l exposant e [ 127, 127] 23 bits pour la Mantisse : nombre binaire M = 1.m [1, 10 2 [ Représentation de x m = a 1 a 2 a 23 a 24 Signe : s = 1 si x < 0 et s = 0 si x > 0. Exposant : (e + 127) 2 Mantisse a 24 = 0 a 1 a 2 a 23, a 24 = 1 0.a 1 a 2 a 23 + 2 23. 15
Limitation 2 127 x 1.1 1 2 127 5.877471754 10 39 x 3.402823568 10 38 Exemple 5 = 1.01 2 2 ; 127 + 2 = 129 = 10000001 2 5 = 11000000 10100000 00000000 00000000 Propriété sem représente le réel ( 1) s Remarque Non unicité (1 + m) 2 E 127 16
IV. 2 Les autres précisions FIG.: Norme IEEE 754 Quid de NaN? Place réservée bits d exposant 1 1 17
V. système de numération en base b N Principe Substituer l entier b à l entier 2 du système binaire. Chiffres de numération en base b : 0, 1,, b 1 Conversion Base b Décimal (a n a 0.a 1 a k ) b = j n a j b j Méthode : Divisions successives par b et on remonte les restes Conversion Décimal Base b Adaptation des méthodes du système binaire Ex : 2401 5 = 351 10 cf TD 18
Système Octal b = 8 = 2 3 Chiffres : 0, 1,, 7 (a n a 0 ) 8 = écriture écriture binaire binaire de a n sur de a n 1 sur 3 bits 3 bits Système Héxadécimal b = 16 = 2 4 Chiffres : 0, 1,, 9, A, B,, F écriture binaire de a 0 sur 3 bits (a n a 0 ) H = écriture écriture binaire binaire de a n sur de a n 1 sur 4 bits 4 bits écriture binaire de a 0 sur 4 bits Exemple 10111101010110 2 = 27526 8 = 2F56 H 19