Architecture des ordinateurs
Transcription
Architecture des ordinateurs
Architecture des ordinateurs L3 Informatique 2011-2012 Fiche 1 - Représentation des nombres et des caractères Points abordés 1 Représentation des nombres entiers en diérentes bases. Représentations des nombres signés. Représentations des nombres à virgules. Représentations des caractères, encodage ASCII. Entiers non signés Exercice 1. (Changement de bases et nombres entiers) 1. Exprimer les entiers (1100 0001)deux , (1111)deux , (1 1101)deux en décimal et en hexadécimal. 2. Exprimer les entiers (41)dix , (63)dix , (128)dix en binaire et en hexadécimal. 3. Exprimer les entiers (2BA)hex , (1CC)hex , (F0)hex en décimal et en binaire. Exercice 2. (Opérations sur les nombres entiers) 1. Exprimer (17)dix et (12)dix en binaire puis les additionner et multiplier en binaire. 2. Donner une méthode pour multiplier un nombre entier binaire par 2. Généraliser pour la multiplication par 2k , k ≥ 0. 3. Donner une méthode pour calculer la partie entière de la division d'un nombre binaire par 2. Généraliser pour la division par 2k , k ≥ 0. 1 4. Donner une méthode pour calculer le reste de la division d'un nombre entier (positif) binaire par 2. Généraliser pour le reste pour la division par 2k , k ≥ 0. Exercice 3. (Dépassement de capacité) Dans cet exercice, les entiers sont représentés sur neuf bits (en non signé). 1. Quel est l'intervalle représentable ? 2. Que se passe-t-il lors de l'addition des entiers (400)dix et (200)dix ? 3. Comment peut-on détecter un dépassement de capacité lors d'une addition de deux entiers ? Nous n'avons jusqu'à maintenant travaillé qu'avec des entiers positifs. Pour pouvoir représenter des entiers relatifs (positif et négatif) avec un même champs de bit on peux utiliser diérents moyens. 2 Entiers signés Exercice 4. (Représentations des entiers signés) On considère les entiers (0)dix , (1)dix , (32)dix , (131)dix , (255)dix . Pour chacun de ces nombres et pour chacun de leurs opposés donner leur représentations sur neuf bits : 1. en magnitude signée ; 2. en complément à un ; 3. en complément à deux ; 4. biaisée avec un biais de 255. Exercice 5. Donnez les valeurs des nombres représentés par les champs de bits : 0 0100, 101 1001, selon les représentations MS, C1, C2, B7. Exercice 6. (l'opposé en complément à 2) 1. Énoncer comment on calcul l'opposé d'un nombre exprimé en complément à 2 sur n bits. 2. Appliquer ce principe deux fois sur le champs de bit 0010 0110. 3. Qu'observez vous ? 4. Observe-t-on toujours cette propriété ? Exercice 7. (L'addition en complément à deux) 1. Représenter les nombres 13dix et −4dix en complément à deux sur cinq bits. 2 2. Faites la somme en binaire, sur cinq bits, des deux représentations obtenus sans vous occuper de la retenu. 3. Représenter le nombre 13dix + (−4dix ) = 9dix en complément à deux sur cinq bits. 4. Que remarquez vous ? 5. Est-ce tout le temps le cas ? Exercice 8. (Comparaison de représentations des entiers signés) On suppose que l'on dispose de n bits pour représenter des entiers signés. Pour chacun des encodages suivants des entiers signés, donner l'intervalle des valeurs représentables. Donner également leur inconvénients et avantages respectifs. 1. Encodage en magnitude signée. 2. Encodage en complément à un. 3. Encodage en complément à deux. 4. Encodage avec un biais de k (où k est un entier positif). Exercice 9. (Dépassement de capacité) On utilise la représentation des entiers par complément à 2 sur neuf bits. 1. Que se passe-t-il lors de l'addition en binaire des représentation en bit des entiers (200)dix et (100)dix ? 2. Que se passe-t-il lors de l'addition en binaire des représentation en bit des entiers −(200)dix et −(100)dix ? 3. Peut-il y avoir dépassement de capacité si l'on ajoute deux nombres de même signe ? Prouver la réponse. 4. Comment peut-on détecter un dépassement de capacité sur les champs de bit ? 5. Peut-il y avoir dépassement de capacité si l'on ajoute deux nombres de signes diérents ? Prouver la réponse. 3 Nombres à virgule Exercice 10. (Représentation à virgule xe) 1. Rappeler ce qu'est la représentation à virgule xe en base deux d'un nombre réel positif. 2. Donner la représentation à virgule xe en base deux des nombres suivants : 2−71 ; 0, 625 ; 9, 625 ; 1, 1 ; 31 ; 3 Exercice 11. (Représentation en virgule ottante) 1. Rappeler l'encodage des nombres à virgule ottante (selon la norme IEEE754). 2. Calculer les plus petit et plus grand nombres réels représentables sur 32 bits. 3. Donner la représentation et calculer le plus petit nombre en valeur absolue non nul représentable. 4. Donner l'encodage de −(9, 625)dix , −(1)dix et −(30, 1)dix selon la norme IEEE754. 5. Donner la valeur décimale de (0100 0010 1110 1101 0100 0000 0000 0000) encodé selon la norme IEEE754. 4 Caractères Exercice 12. (Code ASCII) Le code ASCII permet de représenter chaque caractère par une séquence de sept bits. 1. Combien de chires hexadécimaux nécessite le codage ASCII d'un caractère ? 2. Qu'appelle-t-on les caractères de contrôle ? 3. Quelle opération binaire permet de transformer le codage d'un caractère majuscule en un caractère minuscule ? 4. Retrouver la chaîne de caractères encodée par (2268656C6C6F20776F726D7322)hex en utilisant la gure. 5. Qu'appelle-t-on le code ASCII étendu ? 4 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 2x espace ! " # $ % & ' ( ) * + , . / 3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 4x @ A B C D E F G H I J K L M N O 5x P Q R S T U V W X Y Z [ \ ] ∧ _ Figure 1 Le code ASCII. 5 6x ` a b c d e f g h i j k l m n o 7x p q r s t u v w x y z { | } ∼ DEL