Your SlideShare is downloading. ×
Numeration et codage_de_linfo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Numeration et codage_de_linfo

552
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
552
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
189
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UNIVERSITE IBN TOFAIL Facult6 des Sciences Ddpartement de Mathdmatique Et d'Informatique *-f I F #.,lt,;'ii,;-ixi Filidre : SMI - Semestre 3 Module : Architecture des ordinateurs et Langage Assembleur Compldment du Cours Num firation et codage de I'information Auteur: Hatim KHARRAZ AROUSSI Annde Universitaire : 2012 / 2013
  • 2. TABLE DES MATIERES NUMERATION ET CODAGE DE L'INFORMATION ...."............2 1. Introduction............. """"""""2 2. Systime de numdration : Base 8...... """"2 2.1. D6finition. -------- 2 2.2. Exemples de bases de num6ration--------- ---------- 3 3. Transcodage ou changement de base......... """"""" 3 3.1. Changement de lJbase 10 vers une base B (B:2, 8, ou 16) -------------------------- 3 3.2. Changement de la base 2 vers une base B (B : 10, 8, ou 16) ------------- 4 4. Op6rations arithm6tique sur les nombres binaires """""""""' 6 5.
  • 3. Architecture des ordinateurs Annde Universitaire 2012/2013 Numtirution et Coduge de l'informution L. Introduction Dans la vie courante, nous pratiquons la num6ration ddcimale. Les dix symboles (ou chiffres) {0,1,2,3,4,5,6,'1,8,9} permettent de reprdsenter tous les nombres. La position des chiffres est primordiale dans cette repr6sentation (num6ration de position) : Ainsi, de droite d gauche on trouve : les Unit6s, Dizaines, Centaines, etc. Ainsi, on peut 6crire le nombre 4134 comme : 4134 =4x 1000+1x100+3x10 + 4xl= 4x103 +1x102 +3x10+1x100 10 est appel6 BASE de cette num6ration. On parle ainsi, de la numdration d base l0 ou numdration d,lcimale. On peut gdndraliser cette d6finition d un systdme de numdration ir Base B. 2. Systdme de num6ration : Base B 2.1. Ddfinition Un systdme de numdration d base B est un ensemble d6fini par un alphabet de B symboles : S = {s6,s1,.....,rg-t}. Ainsi, chaque entier Npeut 6tre repr6sent6 sous cette base par : N1r0) = (on-Fn-2...afl0)@) = lanqBn-| + an-2Bn-z + ...a181+ asB0)11s; Ou . ai: valeur du f*" symbole du systdme d base B a dn-t:le sYmbole de Poids fort . aa:le symbole de poids faible . n: nombre de symboles repr6sentant N Par soucis de iisibilit6, pour chaque repr6sentation d'un nombre, nous devons spdcifier la base de numdration.
  • 4. Architecture des ordinateurs Ann6e Universitaire 2012/2013 1. 2. J. 4. 2.2. Exemples de bases de num6ration Systdme Binaire (B:2): Utilise deux symboles S:{0, 1}. C'est avec ce systdme que fonctionnent les ordinateurs. S:tstdme Octale (B : 8) : Utilise huit symboles S:{0, 1,2, 3, 4, 5, 6,7}. Utilisd il y a un certain temps en Informatique. Il permet de coder 3 bits par un seul symbole. SystDme Ddcimale (B : 10) : Utilise dix symboles S:{0, 1,2,3,4,5,6,7, 8, 9}. C'est notre systdme de num6ration nous les humains. C'est un systdme de comptage d dix doigt. Sltstdme Hexaddcimale (B:16):Utilise 16 symboles S:{0, 1,2,3,4,5,6,7,8,9,4 : lOqroy, B - l1(ro), C: l26oy D: 131toy, E: l4goy lr: l5trol). Ce systdme est trds utilis6 dans le monde de la micro Informatique. Il permet de coder 4 bits par un seul symbole. 3. Transcodage ou changement de base Le transcodage (ou changement de base) est I'op6ration qui permet de passer de la repr6sentation d'un nombre exprim6 dans une base d la repr6sentation du mOme nombre mais exprim6 dans une autre base. Par la suite, on verra les changements de bases suivants : ,/ Ddcimale vers : Binaire, Octale et Hexad6cimale. ,/ Binaire vers : D6cimale, Octale et Hexaddcimale. 3.1. Changement de la base 10 vers une base B (B :218, ou 16) La rdgle d suivre c'est la division euclidienne successive : ,/ On divise le nombre par la base B, / Si le quotient non nul on le divise par lui aussi par B, ./ Ainsi de suite, jusqu'd l'obtention d'un quotient nul, ,/ La suite des restes correspond aux symboles de la base vis6e ,/ On obtient en premier le symbole de poids faible et en demier le symbole de poids fort. Exemple: Ecrire la repr6sentation Binaire, Octale et Hexaddcimale de I'entier N = 751t0; ,/ Reprdsentation Binaire : 75 Ainsi, 75110) = 1001011(z)
  • 5. Architecture des ordinateurs Annde (Jniversitaire 2012/2013 '/ Repr6sentation Octale : 7sl8 zls l-g Ainsi,751r0) =1131s; N1 ,/ Reprdsentation Hexad6cimale : 75 11 Ainsi, 75110) = 4866) 3.2. Changement de la base 2 vers une base B (B : 10, 8, ou 16) Deux solutions sont propos6es : Premidre solution: ,/ Convertir le nombre de la base binaire vers la base d6cimale, ,/ Puis, convertir ce nombre de la base d6cimale vers la base B Deuxiime solution: ,/ Binaire vers D6cimale : par d6finition. '/ Binaire vers Octale : Regroupement des bits en des sous ensemble de trois bits, puis remplac6 chaque groupe par le symbole correspondant dans la base 8 (voir la table de correspondance en dessous). '/ Binaire vers Hexad6cimale : regroupement des bits en des sous ensemble de quatre bits, puis remplac6 chaque goupe par le symbole correspondant dans la base 16 (voir la table de correspondance en dessous).
  • 6. Architecture des ordinateurs Annde Universitaire 2012/2013 Table de correspondance entre bases de num6ration Exemple: Ecrire la repr6sentation Ddcimale, Octale et Hexad6cimale d'un nombre reprdsent6 en Binaire par N :101001110112; '/ Reprdsentation D6cimale : N : lx2e + 0x28 + Ix27 + 0x26 + 0x2s + Ix2a + lx23 + lx22 + 0x2r + lx20 =512 +0 +128+0 +0 +16+8 + 4 + 0+1 :6691r0y Ainsi, 1001001110112; = 669110) r' Reprdsentation Octale : N = 1010011101py :001 010 011 10112y :1 2 3 51r; Ainsi, 101001 1 10lp; : 12351ry Binaire D6cimale Octale Hexad6cimale 0 0 0 0 I 1 I 1 10 2 2 2 11 J a -) a -) 100 4 4 4 101 5 5 5 110 6 6 6 111 7 7 7 1000 8 t0 8 1001 9 11 9 1010 10 t2 A 1011 11 13 B 1 100 I2 t4 C 1101 13 t5 D 1110 14 16 E 1111 15 I7 F
  • 7. Architecture des ordinateurs Annde Universitaire 2012/2013 ,/ Repr6sentation Hexaddcimale : N:1010011101p; :0010 1001 110112; 2 9 Dtrot Ainsi, 101001 1 101py : 29Doat 4. OprSrations arithm6tique sur les nombres binaires Les opdrations arithm6tique sont simples en binaire, nous avons les r6sumdes dans le tableau suivant (a,b e {0, t}; : Exemple: '/ Addition binaire : 100101 l0 + 01010101 : 11101011 ,/ Soustraction binaire : - 10010110 01010101 Table de I'addition Table de la soustraction Table de la multinlication a b a+b a b a-b a b axb 0 0 0 0 0 0 0 0 0 I 0 1 I 0 0 I 0 0 0 I I 0 I I Ret -1 0 1 0 I 1 0 Ret. 1 1 1 0 I I I = 01000001
  • 8. Architecture des ordinateurs Annde (Jniversitaire 2012/2013 ,/ Multiplication binaire : 1011 X 1010 0000 101 1. 0000. 1011 . : 1101110 5. Codage de ltinformation et ltordinateur L'ordinateur ne peut pas tout comprendre. Il faut coder les informations dans un langage compr6hensif par I'ordinateur. De par sa conception 6lectronique et 6lectrique, le codage binaire (Repr6sentation binaire) a dt6 choisi. Le courant passe dans un fiI, on dit qu'il est d l'6tat l, il ne passe pas, il est d 1'6tat 0. Ce qui correspond d la numdration d base 2, connu sous le nom du systdme binaire. Ces informations cod6es seront stockdes dans les structures dl6mentaires suivantes '/ Bit (binary digit) : est I'unit6 6l6mentaire de reprdsentation des deux chiffres 0 et 1. Si I'on d6sire reprdsenter des nombres differents de 0 ou 1, on utilisera donc plusieurs bits c6te d c6te. '/ Octet (Byte): Un groupe de bits constitue un multiplet (byte). Bien qu'il y ait des machines qui travaillent ou qui codent I'information sur des multiplets de 6, 12 ou m6me 24bits,le plus courant est le "byte" de 8 bits ou Octet. '/ Mots : Les mots sont gdn6ralement des ensembles d'octets qui sont transfdr6s simultandment d'une partie de la machine d I'autre et qui sont traitds en m6me temps dans les op6rations num6riques. On rencontre des machines travaillant avec des mots de 1 octet,2 octets (16 bits),4 octets (32 bits), 8 octets (64 bits), etc. 5.1. Codage binaire des entiers positifs (binaire pure) Un nombre entier positif est cod6 en binaire sur un nombre de bits fixes. Sur n bits nous pouvons repr6senter en binaire des nombres de 0 d 2n -l . Exemple: Sur 1 octet (8 bits) : Codage des nombres de 0 d 28 -l = 255 Sur 2 octets (16 bits) : Codage des nombres de 0 d 216 -1 : 65535 Sur 4 octets (32 bits) : Codage des nombres de 0 d 232 -I = 4294967295
  • 9. Architecture des ordinateurs Annde Universitaire 2012/2013 5.2. Codage binaire des entiers sign6s (binaire sign6) Ce codage permet la repr6sentation des entiers positifs et n6gatifs. Par convention, le bit de poids fort est utilis6 pour repr6senter le signe du nombre. Soit N = bn-tbn-z.....4boun nombre cod6 en binaire sign6. Ainsi : '/ Si br-1 = 0 le nombre est positif '/ Si btx-l = 1 l? nombre est n6gatif Les bits bo d bn-z repr6sente la valeur absolue du nombre Exemple : +15110; : 0000111112; - 15(ro) = 10001 lIlPT Avec nbits, on code tous les nombres entre - (2*t-l) et (2"-r-I) Sur un octet les nombres cod6s sont de -727 et +127 Inconvdnient: avec ce codage ona2 reprdsentations pour le 0 Sur un octet : - 0(r0) : t0000000(z) et + 01ro) : 00000000(z) 5.3. Codage binaire des entiers sign6s en compl6ment i 1 Dans ce codage les nombres positifs sont reprdsent6s de la m6me fagon que dans le codage binaire pur, mais les nombres ndgatifs sont cod6s de la manidre suivante: en prenant le codage correspondant, au m6me nombre en binaire pur, et on fait le compl6ment par rapport d 1 Exemple: codage de -15 en compl6ment d 1 + 151r0) = 00001111i2; comptdment dr ,1111000012, = -151r0) Inconvdnient: de m0me avec ce codage ona2 repr6sentations pour le 0 : Surunoctet: -0(r0) =1111111112y et +0110) =00000000(z)
  • 10. Architecture des ordinateurs Ann6e (Jniversitaire 20i 2/201 3 5.4. Codage binaire des entiers signds en compl6m ent d 2 Les nombres positifs sont cod6s de la m6me manidre que dans le binaire pur. Le codage des nombres n6gatifs s'obtient en ajoutant 1 au compl6ment d 1 des nombres cod6s. Exemple : codage de -15 en compldment d2 + i51ro) = 0000111112; compt<iment dt ,11110000i2 f@.1l111000112, = -15110) Remarque: pour ce codage on a qu'une seule repr6sentation pour le 0 : sur un octet : - olto) com?ldmentitl aioutert ,00000000(zy = +0110; Avec n bits on peut coder entre -2"-1 et +2"-r-L Ainsi, sur un octet, on code les nombres entre -128 et 127. 5.5. Codage binaire des nombres r6els format virgule fixe Cettd reprdsentation permet le codage d la fois des entiers positifs, n6gatifs et rdels. Son principal avantage est sa grande capacite de codage. La rdgle d suivre pour coder en virgule fixe un nombre r6el est la suivante : 1. Coder en binaire la partie entidre par divisions successives par 2 2. Coder en binaire la partie fractionnelle par multiplications successives par 2 et on garde d chaque 6tape le symbole qui sort avant la virgule. La suite de ces symboles 0 ou 1 donne la partie d6cimale en base 2. Gdn6ralement un binaire en format virgule fixe s'6crit sous la forme : n N(Z) : onan-t.....a1ag,aqa-2...a-p r?_*t' Exemple : 54,250sy: ?ey Codage de la partie entidre : 541roy : 11011012; Par divisions successives par 2 Codage de la partie fractionnelle : 0,25 x 2 = 0,5110; t a-t = 0 Le symbole de poids 2-1 0,50 x 2: 1,001r0y ) o-z = 1 Le symbole de poids 2-2
  • 11. Architecture des ordinateurs Annde Universitaire 2012/2013 5.6. Codage binaire des nombres r6els format virgule flottante Tout nombre r6el peut Otre mis en format virgule flottante sous la forme : N = fuI x BE , avec: ,/ M est la mantisse, ./ B est la base B : {2,8, 10, 16, . .. }, ,/ E est l'exposant (sign6). Exemple: Codage binaire en format virgule flottante du nombre d6cimale 3,25goy 3,25g01: 11,0112; en format virgule fixe : 1,10112121 en format virgule flottante avec M:1,101 et E: 1 : 710,1p12-1 en format virgule flottante avec M:110,1 et E: -I On distingue differente manidre de coder M et E, ainsi, on a besoin d'une normalisation. 5.7. Repr6sentation binaire des nombres r6els Norme IEEE 754 t Simple Pr6cision La forme g6n6rale d'un nombre rdel selon la noffne IEEE 754 est: lr = (-tF'" 2E xt,M Un nombre normalis6 se caractdrise par une mantisse dont le premier bit est toujours egal d l, ce bit est inutile et alors supprimd. Dans la repr6sentation en virgule flottante en simple pr6cision on utilise 4 octets (32 bits). Ces bits contiennent de gauche d droite : '/ 1 bit de signe de la mantisse (SM: SMvaut 0 pour un nombre positif et 1 pour n6gatif ,/ 8 bits pour I'exposant E : on reprdsente en binaire pur E+I27 . ,/ 23 bits pour la mantisse M Les bits d'un rdel sous la norme IEEE 754 en simple prdcision 1 bit Exemple: 8 bits 23 22 23 bits
  • 12. h Architecture des ordinateurs Annde Universitaire 2012/2a13 Reprdsenter le ddcimale suivant 10,50110; en binaire format virgule flottante suivant la noffne IEEE 754 en simple pr6cision. 10,501t0; = 1010,112; En respectant la rdgle du codage en binaire format virgule fixe Ainsi : 10,501s0y : (-1)0 *23 x1,010112y En respectant la norme IEEE754 D'oir le codage binaire en format virgule flottante simple prdcision est donnd par : 10,50110; = 0 0000001 1 0i010000000000000000000c) 5.8. Repr6sentation binaire des nombres r6els Norme IEtrE 754 z Double Pr6cision Dans la repr6sentation en virgule flottante en double pr6cision on utilise 8 octets (64 bits). Ces bits contiennent de gauche i droite : '/ 1 bit de signe de la mantisse (SM : SMvaut 0 pour un nombre positif et 1 pour ndgatif ,/ I 1 bits pour I'exposant E : on repr6sente en binaire pur E+I024 ,/ 52 bits pour la mantisse M Les bits d'un rdel sous lu norme IEEE 754 en double prdcision 52 51 l bit 1l bits 0 5.9. Codage des caractires La mdmoire de I'ordinateur conserve toutes de mdthode pour stocker directement les 6qr.rivalent en code num6rique: c'est le code Interchange). les donn6es sous forme num6rique. Il n'existe pas caractdres. Chaque caractdre possdde donc son ASCII (American Standard Code for Information Plusieurs norrnes sont distingu6es pour le codage des caractdres : 5.9.1. Code ASCII Le code ASCII de base repr6sentait les caractdres sur 7 bits (c'est-d-dir e 128 caractdres possibles, de 0 b127).
  • 13. 4rchitecture des ordinateurs Annde (Jniversitaire 2012/2013 Les codes 0 A 31 ne sont pas des caractdres. On les appelle caractdres de contr6le car ils permettent de faire des actions telles que: o retour d la ligne (CR) o Taabulation horizontale (TAB) Les codes 65 e 90 reprdsentent les majuscules Les codes 97 iL I22 reprdsentent les minuscules Table des caractires ASCII i,q.scrrI i0.j r iz1tI 4 ) 6 7 8 9 10 1l t2 13 t4 15 l6 t7 l8 19 20 2l 22 z3 24 25 26 27 28 29 30 3t t"tt*I I NUL lsoH ] STX i ETX lASCII laq 65 66 67 68 69 7A 71 72 IJ 74 75 76 77 78 79 80 8l 82 83 84 85 86 87 88 89 90 91 92 93 94 95 iLettre l@ A B C D E F G H I J K L M N o P a R S T U V w X Y Z t l iASCrr iqo 1st iss.ssi -':^ 100 101 102 103 t04 10s 106 107 108 109 u0 lll t12 ll3 114 115 116 tt7 118 t19 120 L2t r22 123 t24 |ASCII Ftt* '; 32 ,spu.t JJ 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 6l 62 63 ["tt.. I I ialr.i" ic ,dI le 1r EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI DLE DCI DC2 DC3 DC4 NAK SYN ETB CAN EM SUB Esc FS GS RS US t2s 126 r23 ob h i j k I m n o p q r S t u w X z oit # $ % * ( ) * + / 0 I 2 J 4 5 6 ,7 8 9 : , ,| 5.9.2. Code ASCII 6tendu Le code ASCII a 6td mis au point pour la langue anglaise, il ne contient donc pas de caractdres accentu6s, ni de caractdres sp6cifiques ir une langue. Pour coder ce type de caractdre il faut recourir i un autre code. Le code ASCII a donc 6t6 dtendu A 8 bits (un octet) pour pouvoir coder plus de caractdres (on parle d'ailleurs de code ASCII €tendu...). Ce code attribue les valeurs 0 it 255 aux lettres majuscules et minuscules, aux chiffres, aux marques de ponctuation et aux caractdres accentu6s.
  • 14. Architecture des ordinateurs Annde (Jniversitaire 2012/2013 Table des caractires ASCII dtendu iescirii"ii'. I o !m;r q i i u ii i lr,ett 1,ld i;l^i" i+1rjt i!I I i@l.rI io{- o * 2 3 F 1 I t )) % '/2 % I v z Lettre @ A B c D E F G H I J K L M N o P a R S T U V w X Y Z I 2 J 4 5 6 7 8 9 10 lt t2 l3 t4 l5 16 t7 18 19 20 2t 22 23 24 25 26 21 28 29 30 31 SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI DLE DCI DC2 DC3 DC4 SYN ETB CAN EM SUB Esc FS GS RS US NAK eei 100 | 101 t r02 I r03 1 to4 I 105 i 106 i 107 i 108 109 110 111 lt2 113 tt4 115 116 117 l t8 119 120 121 122 t23 124 125 126 l2'l c d e f o b h i j k I m n o p q r S t u v w x DEL l3l 132 133 134 135 136 137 r38 139 r40 141 t42 143 144 145 146 147 148 149 150 151 r52 153 154 155 156 r57 158 159 193 194 19s 196 191 198 199 200 201 202 203 204 205 206 207 248 209 2t0 211 212 213 214 215 216 217 2t8 219 220 221 222 223 Lettre i I 3 ! (-t I I U & e c / j ) ) ',A X .t t. , i g .i d ]ASCII 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 24',1 248 249 250 251 252 253 254 255 ASCiild;;. leScii i 32 lSpace I 64 i 33 i t 1es I t1r 34l")66i lasdiiir"iii" irSclii 'te6 I irzs i ie7 | a t2e i 1981b1130i L;iii;; iAseii € 1160 ? ltot , lrcz f lt63 ,, lt 164 i 165 t lioo 7 irct^ jros o/oo i 169 d irto < irzr cE inz G 1173 i inq 3 itzs .3 i 176 ' il77 , ltzg * lns" I190 ' 1 tgt I raz I rs: .s lrurM j tgS 3 ltso > jrsz ce I 188 I l8e I 1e0 u ll91 ' _ !-" "- " !ASCII rei D2 Lettre d J o t U 33 i ! 16s i 34 I " 1aa i 3s i+ is i 36.j$i681 37lNi6el 38'r &',7O i 39 i' |71 i 40 1 r lrr l 4t I ) ,73 42; * 174 43i+)75 44 1 76 45 46tllt o 9 d e e e tc 47 I, I '19 48080ii 49t1.1 81 50 iz lu5l i 3 i 83 52i4 i84 53 I 5 r85l: 54!6 j86 ti 5517i87 s6 i s lss siiqlas 58 l, lso sg r lsr 601<92 6r i : I q: 62 It tSq 63 i ? "gs 5.9.3. Code Unicode Le code Unicode est un systdme de codage des caractdres sur 16 bits mis au point en 1991. Le systdme Unicode permet de reprdsenter n'importe quel caractdre par un code sur 16 bits, inddpendamment de tout systdme d'exploitation ou langage de programmation. Il regroupe ainsi la quasi-totalitd des alphabets existants (arabe, armdnien, cyrillique, grec, h6breu, latin, ...) et est compatible avec le code ASCII. L'ensemble des codes Unicode est disponible sur le site http://www.unicode.orglcl'.arrtsl.