Exercice - SiteWExercice 1) Ecrire en hexadécimal les nombres A=1100110111001 B=1100011111100110 C=...
Transcript of Exercice - SiteWExercice 1) Ecrire en hexadécimal les nombres A=1100110111001 B=1100011111100110 C=...
Exercice1) Ecrire en hexadécimal les nombres
A=1100110111001 B=1100011111100110C= 1 1010 0001 1101 D= 110 100 001 101
A= 19B9 B=C7E6 C = 1A1D D=D0D
2) Ecrire A , B, C et D en octal
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
A=14671 B=143746 C=15035 D = 6415
3) Faire la somme A+B en hexadécimal
19B9 + C7E6=E19F
4) Faire la différence A-B en hexadécimal
19B9 - C7E6=19B9
La représentation des nombres entiers signésIl existe plusieurs procédés permettant de représenter des nombresentiers positifs et négatifs:• La représentation par valeur signée;• La représentation par complément à un;• La représentation par complément à deux.Ces trois méthodes possèdent des points communs:
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 2
• Le signe d’un nombre est représenté par le bit de poids fort (bit designe). Celui-ci est égal à
� 0 pour les nombres positifs;� 1 pour les nombres négatifs.
• La représentation d’un nombre positif est toujours identique à sareprésentation binaire non signée de même taille.
La représentation des nombres entiers signésExemple:La représentation sur 8 bits du nombre −42 est égale à10101010. En effet• Ce nombre est négatif, car le bit de signe est égal à 1;• La représentation binaire non signée sur 7 bits de
42 = | − 42| est 0101010.
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 3
Selon ce procédé, le nombre v représenté par le groupe de bits(bn-1, bn-2, …..b1,b0 ) est égal à
si bn-1 = 1 v est négatif et si bn-1 =0 v est positif
La représentation des nombres entiers signés
Les valeurs représentablesExemple :A l’aide de 4 bits, la représentation par valeur signée permet d’encoder:
• tous les éléments de l’intervalle [0, . . . , 7=23 − 1](bit de signe égal à 0)
0 0 0 00 1 0 0
1 0 0 01 1 0 01 0 1 0
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 4
• tous les éléments de l’intervalle[-7=− 2n−1 +1, . . . , 0] (bit de signe égal à 1).
L’ensemble des valeurs représentables est doncl’intervalle [−7, . . . , 7].
0 0 1 00 1 1 00 0 0 10 1 0 00 0 1 00 1 1 1
1 0 1 01 1 1 01 0 0 11 1 0 01 0 1 01 1 1 1
La représentation des nombres entiers signésLes valeurs représentablesEn général:A l’aide de n bits, la représentation par valeur signée permetd’encoder• les éléments de l’intervalle [0, . . . , 2n−1 − 1] (bit de signe égal à 0),et• les éléments de l’intervalle [− 2n−1 +1 0] (bit de signe égal à 1)
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 5
• les éléments de l intervalle [ 2 +1, . . . , 0] (bit de signe égal à 1).
L’ensemble des valeurs représentables est donc l’intervalle[− 2n−1 +1, . . . , 2n−1 − 1].
Remarques:• Le nombre 0 possède deux représentations distinctes (+0 et -0);• Ce procédé rend difficile le calcul des opérations arithmétiques.
La représentation par complément à (n-1)Principe:Soit un nombre A écrit en base n. En mathématique, on appellera
complément à (n-1) de A le nombre noté B tel que A + B = n-1.Le complément à (n-1) s’appelle aussi complément restreintExemple:Soit à représenter sur 8 bits par complément à 1 du nombre (42)10
La représentation binaire sur 8 bits de 42
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 6
(42)10 = (00101010)2
Le complément à 1 est 11010101• Le complément à 1 est très facile à obtenir puisqu'il suffit de remplacer les"1" par des "0", et vice versa.
• (8 bits) (7 bits)
La représentation par complément à (n-1)
Exemple:
En base 10 le complément restreint à 542 (A) est (B) :A + B = n-1 B= n-1 - A ; n= 10
B = 999 – 542 = 457
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 7
En base 8 le complément restreint à 542 est :
777-542 =
En base 16 le complément restreint à 542 est
FFF-542 =
235
ABD
La représentation par complément à (n-1)Selon ce procédé, le nombre v représenté par le groupe de bitsbn-1 bn-2 …..b1b0 est égal à
si b = 1 v est négatif et si b = 0 v est positif
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 8
si bn-1 = 1 v est négatif et si bn-1 = 0 v est positif
Exemple:
(12)10 = (1100)2 représentation sur 4 bits non signée
(-12)10 =(11100)2 représentation sur 5 bits par valeur signée
(-12)10 =(10011)2 représentation sur 5 bits par complément à 1
La représentation par complément à (n-2)La représentation d’un nombre binaire A écrit sur 5 bits
A =10111alors le complément à un de A est CR(A)
CR(A) =01000
A + CR(A) =11111CR(A) =11111- A
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 9
En ajoutant 1 à CP1(A)A + CR(A) +1 =11111 + 1
A + CR(A)+1 =100000 ⇒⇒⇒⇒ - 0A + CV(A) = 0
CV(A) est bien l’opposé de A ⇒ CV(A) = - A
La représentation par complément à (n-2)
Exemples:� La représentation sur 8 bits signé du nombre -42
� La représentation sur 8 bits du nombre 42 est égale à 0 0101010 (8bits)� CR(42)=01010101 ⇒ CV(42)= CR(42) + 1� CV(42)=11010110 (8bits)
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 10
Donc,� la représentation sur 8 bits signés du nombre 42 est égale à: 0 0101010� Le CV(42) sur 8 bits est égale à: 1 1010110
CV(42) est négatif ( le bit de signe est égal à 1).
La somme conduit à 1 00 00 00 000 0101010
+1 1010110
____________
= 1 0 0000000
Compléments binairesSoit à réaliser l’opération 15 - 27 en complément vrai.15 = 0000 1111 ⇒ 0000 111127 = 0001 1011 ⇒ CV ⇒ 0110 0101
0111 0100
R=0 ⇒ CV(0111 0100) = 1000 1100 ⇒ -12 ⇒ Résultat <0
Pas deretenue
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 11
Soit à réaliser l’opération 27 - 15 en complément vrai.27 = 0001 1011 ⇒ 0001 101115 = 0000 1111 ⇒ CV ⇒ 1111 0001
1 0000 1100
R=1 ⇒ 000 1100 ⇒ 12 ⇒ Résultat > 0
Retenue
Resumé
A - B A + CV(B)
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
Report
>0
< 0
oui
non
Résultat
CV(Résultat)
Compléments binaires
Soit à réaliser en binaire l’opération (112)10 – (58)10 en complémentvrai.
112 = 0111 0000 ⇒ 0111 000058 = 0011 1010 ⇒ CR+1 ⇒ 1100 0110
(1) 0011 0110 report ⇒ > 0Résultat ⇒ 0011 0110 ⇒ 54
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 13
Codification des nombres entiers:Compléments binaires.
Considérons le système décimal
Calculer en décimal (236-525) en utilisant le complément vrai
ComplémentVrai
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 14
- 289
ComplémentVrai
VraiPas de Report
résultat < 0
Codification des nombres entiers:Entiers négatifs
Exercice : Quel est le CR de l'octet 16(16).
1514/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
Réaliser l’opération (2D)16 – (53)16 en complément restreint
(2D)16 – (53)16 = (26)16 Pas de report ⇒ < 0 ⇒ 2×161+6×160 =38 ⇒ (-38)10
(45)10 - (83)10 = (-38)10
Représentation des nombres réels
Les nombres que nous avons utilisés jusqu’alors étaient desnombres entiers positifs ou négatifs. Il est évidemment possible derencontrer des nombres fractionnaires qu’il conviendra de pouvoir coderen binaire.Il existe de nombreuses méthodes pour représenter ces nombres
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 16
Il existe de nombreuses méthodes pour représenter ces nombres,parmi lesquelles :• codage de la partie entière ;• codage en virgule fixe ;• codage en virgule flottante ;• codage au format Qn ;• …
Représentation des nombres réels
Codage de la partie entièreCette méthode consiste à ne coder que la partie entière du nombre réel.Elle n’est que très peu utilisée, et fourni des résultats approximatifs.
Exemple : 25,375
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 17
(25)10 ⇒ (11001)2
Représentation des nombres réels
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 18
Exemple
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 19
Cette méthode à l’inconvénient d’utiliser beaucoup de bits après la virgule si lenombre à coder comporte beaucoup de chiffre après la virgule.
Exercice
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 20
Nombres binaires à virgule fixe
N = (00011010110)2(7,4) = (13.375)10
N = (0001101,0110)2 = (13.375)10
Mot de 11 chiffres avec (n,m)= (7,4) ⇒ n+m=11
n : chiffre avant la virgule ; m : chiffre après la virguleExemple mots de 3 bits
2114/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
Exemple mots de 3 bits(3,0) (2,1) (1,2) (0,3) (n,m)
� 010 2 1 0,5 0,25� 011 3 1,5 0,75 0,375� 100 4 2 1 0,5� 101 5 2,5 1,25 0,625� 110 6 3 1,5 0,75� 111 7 3,5 1,75 0,875
Nombre binaire à virgule flottante
Afin de représenter les très grands ou très petits nombres, nousutilisons généralement une méthode assez pratique appelée notationscientifique.Rappel : 125.68 = 1.2568 × 102
2214/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
En binaire:
La norme IEEE 754 normalise cette représentation. Elle distingue 2représentations, celle en simple précision (sur 32 bits), et celle endouble précision (sur 64 bits).
Nombre binaire à virgule flottante
Représentation en simple précision
2314/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
Exposant – calage = décalageExposant = décalage + 2k-1-1
Nombre binaire à virgule flottante
Représentation en simple précision
Exemple 1: Traduire en binaire format flottant simple précision 32 bitsle nombre : - 1039,01) Signe : 12) Traduire en binaire (1039)10 = (0000 0100 0000 1111)2
3) Constituez la mantisse : 1 mantisse × 2n
2414/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
3) Constituez la mantisse : 1, mantisse × 2n
0000 0100 0000 1111 = 1,00 0000 1111 × 210
(décalage de dix chiffres vers la droite après la virgule )
0 0 0 0 0 0 1 1 1 11
Nombre binaire à virgule flottante
Représentation en simple précision4) Constituez le calage IEEE en simple précision 8 bits : 28 - 1 - 1 = 1275) Constituez l'exposant : 0000 0100 0000 1111 = 1,00 0000 1111 × 210
exposant = 10 + calage = 10 +127= 1374) Exprimer l'exposant en binaire (137)10 = (1000 1001)2
5) Etendre la partie fractionnaire à 23 bits
2514/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
mantisse sur 23 bits = 000 0001 1110 0000 0000 0000
(- 1039,0)10 = (1100 0100 1000 0001 1110 0000 0000 0000)2
En hexadecimal C4 81 E0 00
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 1 0 0 11
Nombre binaire à virgule flottante� La norme IEEE définit la façon de coder un nombre réel:
la forme 1,xxxxx...×2n (dans notre exemple 1,0101 × 22).� Cette norme se propose de coder le nombre sur 32 bits et définit trois
composantes :� le signe est représenté par un seul bit, le bit de poids fort (celui le
plus à gauche)� l'exposant est codé sur les 8 bits consécutifs au signe
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 26
� la mantisse (les bits situés après la virgule) sur les 23 bits restants
� Ainsi le codage se fait sous la forme suivante :seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm
Nombre binaire à virgule : Règles� Certaines conditions sont toutefois à respecter pour les
exposants :� l'exposant 00000000 est interdit� l'exposant 11111111 est interdit. On s'en sert toutefois
pour signaler des erreurs, on appelle alors cetteconfiguration du nombre NaN, ce qui signifie Not a NumberIl f t j t 127 (01111111) à l' t
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 27
� Il faut rajouter 127 (01111111) à l'exposant pour uneconversion de décimal vers un nombre réel binaire. Lesexposants peuvent ainsi aller de -254 à 255
Nombre binaire à virgule flottante
Représentation en double précision (64 bits)� On utilise la même méthode que pour le codage en simple
précision, sauf que l’exposant est codé sur 11 bits et la mantisse sur52 bits.
2814/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
exposant codé = exposant réel + excédent
Nombre binaire à virgule flottanteLimites
2914/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
Nombre binaire à virgule : ExempleSoit à coder en simple précision la valeur 525,5.� 525,5 est positif (-1)0 donc le 1er bit sera s = 0.� Sa représentation en base 2 est la suivante : 1000001101,1� En normalisant, on trouve : 1,0000011011 × 29
� On ajoute 127 à l'exposant 9 ce qui donne 136, soit en base 2 :eeeeeeee = 10001000
� La mantisse est composée de la partie décimale de 525,5 enbase 2 normalisée, c'est-à-dire 0000011011.
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 30
base 2 normalisée, c est à dire 0000011011.� Comme la mantisse doit occuper 23 bits, il est nécessaire
d'ajouter des zéros pour la compléter :00000110110000000000000
La représentation du nombre 525,5 en binaire avec la norme IEEEest donc :0 1000 1000 000001101100000000000000100 0100 0000 0011 0110 0000 0000 0000(4403600 en hexadécimal)
Exemple 2Ecrire la valeur -0,625 en simple précision avec le format IEEE754Le bit s vaut 1 car 0,625 est négatif0,625 s'écrit en base 2 de la façon suivante : 0,101On l’écrit sous la forme normalisée 1.01 x 2-1
Par conséquent l’exposant E = 127 - 1 �E= 126 (soit 1111110 enbinaire)
la mantisse est 01000000000000000000000
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 31
La représentation du nombre 0,625 en binaire avec la norme IEEEest : 1 1111 1110 01000000000000000000000
1111 1111 0010 0000 0000 0000 0000 0000 binaire
15 15 2 0 0 0 0 0 décimal(FF 20 00 00 en hexadécimal)
Représentation des nombres réels :norme IEEE
On veut coder le nombre 6,625 en simple précision avec le format IEEE� 6,625 vaut 110,1010 en binaire.� On décale la virgule vers la gauche pour déterminer le bon
exposant : 110,1010 = 1,101010.22
� S=0 (car le nombre est positif)EXPOSANT 2 127 129 10000001 bi i (i i
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 32
� EXPOSANT=2+127=129=10000001 en binaire (ici on a unbiais de 127)
� MANTISSE= on garde la partie droite de la virgule et oncomplète avec des 0 pour obtenir 23 bits, donc10101000000000000000000.
� Finalement on obtient 6,625 codé avec le formalismeIEEE754 single précision :
Représentation des nombres réels :norme IEEESoit à codifier en simple précision le nombre 3,25.�On va normaliser la représentation en base 2 de telle sorte qu’elles’écrive sous la forme 1, … x 2n
� Dans notre exemple 11, 01 = 1, 101 x 21
� La représentation IEEE code séparément le signe du nombre (ici+), l’exposant n (ici 1), et la mantisse (la suite de bits après lairg le) le to t s r 32 bits
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes14/12/2011 33
virgule), le tout sur 32 bits.� Le codage a la forme :s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmm.
3,125 � 0100000001010000000000000000000000
signe exposant mantisse
Représentation des caractères: code ASCII
Les caractères sont des données non numériques � symbolesalphanumériques, incluent
� les lettres majuscules et minuscules,� les symboles de ponctuation (& ~ , . ; # " - etc...),� les chiffres.
Un texte ou chaîne de caractères sera représenté comme une suite
3414/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
Un texte, ou chaîne de caractères, sera représenté comme une suitede caractères.Le codage des caractères est fait par une table de correspondanceindiquant la configuration binaire représentant chaque caractère.Le code ASCII (American Standard Code for Information Interchange)
Représentation des caractères: Code ASCII
� Le code ASCII représente chaque caractère sur 7 bits
3514/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
� A chaque caractère est associé une configuration de 8 chiffresbinaires (1 octet), le chiffre de poids fort (le plus à gauche) étanttoujours égal à zéro.
Représentation des caractères: Remarques
� Plusieurs points importants à propos du code ASCII :
� Les codes compris entre 0 et 31 ne représentent pas des caractères,ils ne sont pas affichables.
� Les lettres se suivent dans l’ordre alphabétique (codes 65 à 90 pour
3614/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
� Les lettres se suivent dans l ordre alphabétique (codes 65 à 90 pourles majuscules, 97 à 122 pour les minuscules.
� On passe des majuscules � minuscules en modifiant le 5ème bit, cequi revient à ajouter 97-65= 32 au code ASCII décimal (32: 0010000)
G (71) � 01000111 g (103) �01010111
Représentation des caractères - chiffres
� Les chiffres sont rangés dans l’ordre croissant (codes 48 à 57), et les4 bits de poids faibles définissent la valeur en binaire du chiffre.
3714/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes
Représentation des caractères - chiffres3814/12/2011
Pr. M. Benjelloun Pr. H. El alaoui Pr. H. Garmes