Représentation de l’information en binaire: Nombres entiers non signés/signés Emmanuelle Peuch
Légende: icônes Cliquer pour avoir la suite du texte Cliquer pour passer à la page suivante Cliquer pour revenir à la page précédente Cliquer pour revenir à la table des matières Lien hypertexte Texte souligné : cliquer sur le lien hypertexte Cliquer pour revenir à la page appelante (retour d'un lien hypertexte)
Table des matières Système binaire Nombres "entiers" signés 1- Conversion binaire - décimal 2- Conversion décimal – binaire Nombres "entiers" signés 1- Complément à deux: définition 2- Arithmétique binaire 3- Dépassement de capacité
Système binaire
Bit = contraction de BInary digiT Système binaire Dans le système binaire, on dispose de deux chiffres 0 et 1, appelés bits, qui ont la même signification qu’en décimal : (0)b = (0)d (1)b = (1)d Bit = contraction de BInary digiT Pour représenter des nombres plus grands, le mécanisme est le même qu’en base 10 :
La position de chaque chiffre du nombre est importante ! Système binaire Base 10: On dispose des 10 chiffres 0 à 9 La position de chaque chiffre du nombre est importante !
Système binaire Base 2 : On dispose des 2 chiffres 0 et 1 La position de chaque chiffre du nombre a toujours la même importance !
Système binaire Avec n bits On forme 2n mots différents On compte de 0 à 2n - 1 Avec n = 4 bits on forme 24 = 16 mots différents. On peut alors compter de 0 à 15. Comment énumérer rapidement tous les mots dans l’ordre du binaire naturel?
Conversion binaire - décimal Système binaire Conversion binaire - décimal
Conversion binaire - décimal Convertissons le nombre entier binaire 11010010 en décimal. Il faut déterminer le poids positionnel de chaque bit. Poids 26 25 24 23 22 21 20 Nombre binaire 1 Puis faire la somme des poids pour trouver le nombre décimal: (1101101)b = 1.26 + 1.25 + 0.24 + 1.23 + 1.22 + 0.21 + 1.20 = (109)d
Conversion binaire - décimal Convertissez le nombre entier binaire 1001 0001 en décimal. Voir la solution
Conversion décimal - binaire Système binaire Conversion décimal - binaire
Conversion décimal - binaire Méthode de la somme des poids. on détermine la série de poids binaires dont la somme est égale au nombre décimal donné: (9)d = 8 + 1 = 23 + 20 = (1001)b Convertissez le nombre décimal 25 en binaire. Voir la solution
Conversion décimal - binaire Méthode de la division par 2. Convertissons le nombre (11)d On a donc (11)d = (1011)b
Conversion décimal - binaire Convertissez le nombre décimal 58 en binaire par la méthode de la division par 2 Voir la solution
Nombres "entiers" signés
Nombres signés Pour traiter des nombres négatifs, l'ordinateur ne dispose pas du signe moins. Comme on ne dispose que des symboles 0 et 1, il a fallu mettre en place une convention pour représenter les nombres binaires signés à l'aide de ces deux symboles. Nous ne présenterons ici que la convention la plus utilisée à savoir la représentation en complément à deux.
Nombres signés On peut retenir que, quelque soit la convention choisie, le bit le plus significatif d'un mot binaire (poids fort, donc à gauche) représente toujours le bit de signe. La norme est alors: Bit de signe à 0 désigne un nombre positif. Bit de signe à 1 désigne un nombre négatif.
Complément à deux: définition Nombres signés Complément à deux: définition
Complément à deux: définition Le complément à 2 d'un nombre binaire s'obtient de la façon suivante: Nombre binaire étudié Ecrire le complément à 1 du nombre binaire = complément du nombre bit par bit Ajouter 1 (addition binaire) au complément à 1 Le complément à 2 de (0110)b est donc (1010)b
Complément à deux: définition Le complément à 2 et nombres signés Rappelons tout d'abord que lorsqu'on travaille avec des nombres signés, le bit de poids fort représente toujours le bit de signe. Ecrivons (+ 6)d en binaire: Format utilisé: nombre signé sur 4 bits Convention utilisée: complément à 2 Nombre positif à convertir en binaire: on utilise donc une des méthodes présentées dans le I–2. Conversion décimale – binaire
Complément à deux: définition On obtient donc: (+ 6)d = (0110)b Format nombre signés: le bit de poids fort représente le signe. Ce bit est à 0, ce qui correspond bien à un nombre positif. Ecrivons (- 6)d en binaire (même format, même convention) Nombre négatif à convertir en binaire: on prend donc le complément à 2 de (0110)b =(+ 6)d
Complément à deux: définition On a donc (- 6)d = (1010)b Format nombre signés: le bit de poids fort représente le signe. Ce bit est à 1, ce qui correspond bien à un nombre négatif.
Complément à deux: définition Inversement, convertissons (1010)b en décimal sachant que le format est de 4 bits et que l'on est en convention complément à 2: (1010)b Bit de signe à 1: on est en présence d'un nombre négatif. Pour le convertir en décimal, il faut donc d'abord déterminer son complément à 2 pour obtenir sa valeur absolue.
Complément à deux: définition Récapitulons: Le complément à 2 de (1010)b est (0110)b = (+6)d. Conclusion: (1010)b = (- 6)d. Remarque: la conversion binaire – décimale du nombre (0110)b en convention complément à 2 est directe puisque l'on a à faire à un nombre positif! (0110)b = (+6)d
Complément à deux: définition Avec n bits, combien de nombres entiers signés peut on écrire? Prenons l'exemple suivant: - Format n = 3 bits - convention complément à 2 En notation signée on dispose de 2 bits pour coder la valeur! Construisons un tableau pour énumérer tous les nombres signés possibles.
Complément à deux: définition Récapitulons: avec n = 3 bits on peut représenter 23 nombres différents: En notation non signée En notation signée complément à 2
Complément à deux: définition Généralisons: avec n bits on peut représenter 2n nombres différents: En notation non signée En notation signée complément à 2
Nombres signés Arithmétique binaire
On peut donc représenter des nombres allant de – 128 à + 127 Arithmétique binaire Remarque: avec la notation complément à 2, les soustractions se ramènent à des additions (comme en base 10) Dans la suite, nous allons effectuer des sommes de nombres signés. Format utilisé: nombres signés sur n = 8 bits Convention utilisée: complément à 2 On peut donc représenter des nombres allant de – 128 à + 127
Arithmétique binaire Deux nombres positifs Calculer 7 + 4 en binaire (7)d = (0000 0111)b et (4)d = (0000 0100)b Résultat cohérent qui correspond bien à 11.
Arithmétique binaire Nombre positif plus grand que nombre négatif Calculer 15 - 6 en binaire (15)d = (0000 1111)b (-6)d = (1111 1010)b
Arithmétique binaire Résultat cohérent qui correspond bien à 9. La retenue finale est rejetée: elle n'est pas significative.
Arithmétique binaire Nombre positif plus petit que nombre négatif Calculer 16 - 24 en binaire (16)d = (0001 0000)b (-24)d = (1110 1000)b
Arithmétique binaire Résultat cohérent qui correspond bien à - 8. Pour convertir ce résultat en décimal il faut déterminer son complément à 2: Cp à 2 de (1111 1000)b est (0000 1000)b = (8)d Résultat cohérent qui correspond bien à - 8.
Arithmétique binaire Deux nombres négatifs (-5)d = (1111 1011)b Calculer – 5 - 9 en binaire (-5)d = (1111 1011)b (-9)d = (1111 0111)b
Arithmétique binaire Résultat cohérent qui correspond bien à - 14. Déterminons le complément à 2 de ce résultat: Cp à 2 de (1111 0010)b est (0000 1110)b = (14)d Résultat cohérent qui correspond bien à - 14.
Dépassement de capacité Nombres signés Dépassement de capacité
Dépassement de capacité Lorsque deux nombres binaires sont additionnés et qu'il n'y a pas assez de bits pour afficher le résultat de la somme, on dit qu'il y a dépassement de capacité ou overflow. Nous allons donc voir comment détecter le dépassement de capacité en examinant quelques exemples. Format utilisé: nombres signés sur n = 8 bits Convention utilisée: complément à 2 On peut donc représenter des nombres allant de – 128 à + 127
Dépassement de capacité Calculons (0111 1101)b + (0011 1010)b (0111 1101)b = (125)d (0011 0101)b = (58)d Et 125 + 58 = 183
Dépassement de capacité Or 125 + 58 = 183 nécessite 8 bits de grandeurs. Il faudrait donc utiliser un format de 9 bits. Dans notre format 8 bits il y a donc dépassement de capacité: le résultat de la somme est faux. Voyons maintenant comment reconnaître si il y a dépassement de capacité directement en regardant le résultat du calcul en binaire.
Dépassement de capacité Comment reconnaître un dépassement de capacité (Calcul qui correspond à -5 – 9)
Dépassement de capacité Il n'y a pas dépassement de capacité. on remarque que Cn et Cn-1 sont identiques. (Calcul qui correspond à -5 – 9)
Dépassement de capacité Il y a dépassement de capacité. on remarque que Cn et Cn-1 sont complémentaires. (Calcul qui correspond à 125 + 58)
Dépassement de capacité Conclusion Il y a dépassement de capacité lorsque Cn et Cn-1 sont complémentaires. Nous verrons en électronique numérique qu’il suffit d'utiliser l'opérateur logique OU EXCLUSIF entre ces deux retenues pour détecter un dépassement de capacité : Overflow = Cn Cn-1
FIN Emmanuelle Peuch
Enumérer les différents nombres binaires: exemple avec 3 bits 1 7 6 5 4 3 2 20 21 22 Nombres binaires Base 10 1 7 6 5 4 3 2 20 21 22 Nombres binaires Base 10 1 7 6 5 4 3 2 20 21 22 Nombres binaires Base 10 7 6 5 4 3 2 1 20 21 22 Nombres binaires Base 10 Remarquez de quelle façon les chiffres 0 et 1 se répètent dans chaque colonne! Colonne de poids faible (20): on alterne les 0 et 1 toutes les 20 fois. Colonne de poids 21: on alterne les 0 et 1 toutes les 21 fois. Colonne de poids 22: on alterne les 0 et 1 toutes les 22 fois.
Conversion du nombre entier binaire 1001 0001 en décimal. Quelques puissances de 2 Notation: 1 Kilo bits = 1 K bits = (1024)d soit 210 216 = (65536)d = 64 K bits
Conversion du nombre décimal 25 en binaire Quelques puissances de 2
Conversion du nombre décimal 58 en binaire (58)d = (111010)b
Nombre binaire Nombre binaire Nombre binaire Enumérer les différents nombres binaires: Format 3 bits et convention complément à 2 Valeur base 10 non signée Nombre binaire 1 2 3 4 5 6 7 Valeur base 10 non signée Nombre binaire Valeur base 10 signée 1 2 3 4 -4 5 -3 6 -2 7 -1 Nombre binaire 1 Rappelons tout d'abord le codage obtenu en notation non signée: 1ère colonne. En notation signée, complément à 2: dernière colonne. Complément à 2 de (001)b = (111)b … Le complément à 2 de (100)b est lui-même, (100)b ! Il représente le nombre (-4)d. Le complément à 2 de (000)b est … lui-même!