Click here to load reader

Representation numerique de_l_information_26_09_2012

Embed Size (px)

DESCRIPTION

 

Citation preview

  • 1. Reprsentation numrique de linformation Formation ISN 2013 David Langlois david.langlois@univ-lorraine. fr

2. Objectifs du cours Montrer comment est reprsente/manipulelinformation dans un ordinateur Contraintes matrielles, defficacit, deperformances Codage binaire Etude de plusieurs natures de donnes Les valeurs numriques Les caractres Les fichiers sons Les images ? Voir un cours suivre Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 3. Objectifs du cours Comprendre et faire comprendre aux lveslimportance de la notion de code Pas un code, mais des codes Codage = une ncessit Un codage ne nait pas de rien, au hasard Elments de thorie de linformation (ouverture) Activits : Le morse : un codage binaire; codage/dcodage,efficacit versus code ASCII.Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 4. Lien entre Lyce et codage binaire Annotation dun professeur sur un bulletin propos dun lve : aligne les 0 et 1; sera dou pour linformatique ! les perles des bulletins de notes , collection lesperles , ditions Jean-Claude Gawsewitch Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 5. Information et CodageFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 6. Information Un ordinateur manipule des informations de naturesdiverses Valeurs numriques : naturels, rels, irrationnels (?), fractions, complexes... Donnes textuelles : texte brut, texte enrichi, texte avec format Images : dessin libre, figures gomtriques, photos Sons : bruit, musique, parole Vidos : suite dimages + bande sonore Ces informations sont stockes sous des formats trsdivers Ex : image BMP, DXF, EPS , GIF, Jpeg, Photo CD, PCX,PICT, PS, TIFF, WPG Ces informations sont : Stockes Manipules Calcules Formation ISN 2013 - Rprsentation informations Quels codages de ces numrique de l'information - David Langlois? 7. Information codage Si je veux vous dire o jhabite (information), jevais vous donner mon adresse selon un certain code Ce code : Est le mme pour nous tous Est associ : un encodage : partir du lieu o jhabite, je peux construire mon adresse un dcodage : partir de mon adresse, vous pouvez retrouver ma maison Nest pas ambig 1 adresse un lieu Formation Note : leRprsentation ladresse ne respecte pas vraiment ISN 2013 - codage de numrique de l'information - David Langlois cette contrainte, mais comme nous humains, sommes 8. Information codage Si je veux vous dire o jhabite (information), jevais vous donner mon adresse selon un certain code Ce code : Correspond aux utilisateurs et aux usages efficacit Nous sommes humains, manipulateurs de nombres et desymboles, avec une culture commune, dans une socit structure en dpartements et communes donc, ladresse est constitue dun code postal, dun nom de rue facile mmoriser car ancr dans notre histoire. Dpend des contraintes du problme Ltre humain manipule surtout des symboles : impossibilit Formation ISN 2013 - Rprsentation numriquedutiliser les- coordonnes gophysiques de l'information David Langlois 9. Ordinateur et CodageFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 10. Ordinateur, cest quoi ? Une machine manipulant de linformation, seul(calcul de trajectoire de mtorite), ou en interaction avec lutilisateur Quand je dessine lordinateur, lordinateurmanipule-t-il un dessin ? Mme rponse que pour la question quand je joue autennis contre un mur, le mur joue-t-il au tennis du fait quil me renvoie la balle ? Une machine permettant dexcuter desprogrammes Une machine capable de lire des registres mmoire, doprer des calculs sur ces registres et Formation ISN 2013 - Rprsentation de modifier les valeurs numrique de l'information - David Langlois des registres 11. Ordinateur, cest quoi ? Utilisateur : niveau numrique et symbolique Ordinateur : niveau purement lectrique Comment est construit le lien entre les deuxniveaux ?Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 12. ATTENTION : vision schmatiqueTransistor Un composant lectronique dt de : Deux entres e1 et e2 e2 Une sortie s eTRANSISTO Rs1 e2 est lalimentation du transistor Deux tats : Pas de courant en e1 + courant en e2 couranten s Courant en e1 + courant en e2 pas de courant en s Quel intrt ? Prsence/absence de courant : facile mesurer Mesure robuste aux interfrences e2= NON s Formation ISN 2013une porte logique e 1 NON calcul logique Simule - Rprsentation numrique de l'information - David Langlois1 13. Logique et binaire Logique et binaire : une correspondance bijective Logique : deux valeurs VRAI/FAUX Binaire : deux valeurs 0/1 Possibilit de reprsenter les calculs numriquesbinaires laide des portes logiques Binaire = reprsentation efficace de linformation de toute nature.Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 14. Codage binaire dun nombre Codage en base 10 : utilisation de0,1,2,3,4,5,6,7,8,9 pour coder les valeurs numriques Codage en base 2 : utilisation de 0,1 pour coder les valeurs numriques Tout entier en base n peut tre cod en binaire. Exemple 510 = 1012 car 5 = 1*22+0*21+1*20 En gnralnX X10 = bnbn-1bn-2....b2b1b0 si et seulement si : i 0 Formation ISN 2013 - Rprsentation numrique de l'information - David Langloisib 2 i 15. Fabriquer un NON logique (rappel) NON ANON AVRAIFAUXFAUXVRAIe2=1 e1=AFormation ISN 2013 - Rprsentation numrique de l'information - David LangloisNONNON A 16. Fabriquer un ET logique = Brancher plusieurs transistors alimentation = 1e1 = ANONNON A NON (NON A OU NON B ) = A ET Be1 = BNONNON BNON A OU NON BNONET ABA ET BVRAIVRAIVRAIVRAIFAUXFAUXFAUXVRAIFAUXFAUX FAUX FAUX Formation ISN 2013 - Rprsentation numrique de l'information - David LangloisDistribution du NON 17. Autres oprations logiques NON et ET suffisants pour : A OU B = NON ((NON A) ET (NON B)) A NON-OU B = NON (A OU B) A OU-EXCLUSIF B = (A ET NON B) OU (NON A ETB) OUNON-OUOU-EXCLUSIFABA OU BABA NOR BABA XOR BVRAIVRAIVRAIVRAIVRAIFAUXVRAIVRAIFAUXVRAIFAUXVRAIVRAIFAUXFAUXVRAIFAUXVRAIFAUXVRAIVRAIFAUXVRAIFAUXFAUXVRAIVRAIFAUXFAUXFAUXFAUXFAUXVRAIFAUXFAUXFAUXFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 18. Le calcul binaire et le calcul logique 1 bit = 0 ou 1 Opration sur les bits : complmentaire, somme,multiplication Convention 1 pour VRAI 0 pour FAUXFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 19. Complmentaire de 1 bit Opration NONNON escomplmentair eVRAI FAU Xes10FAU X01VRAIFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 20. Multiplication de 2 bits Mutiplication = opration ETETe1e2MULTIPLICATIONse1e2sVRAI VRAI VRAI111VRAI FAU XFAU X100FAU XVRAI FAU X010000FAU XFAU XFAU XFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 21. Somme sur 2 bits Attention, 2 rsultats : somme et retenue SOMME bit1bit2Somme Retenu e0000011010101101XORETABA XOR BABA ET BVRAIVRAIFAUXVRAIVRAIVRAIVRAIFAUXVRAIVRAIFAUXFAUXFAUXVRAIVRAIFAUXVRAIFAUXFAUXFAUXFAUXFormation ISN 2013 - RprsentationFAUX FAUX FAUX numrique de l'information - David Langlois 22. Opration sur n bits Connexions des circuits de base Pour toute cette partie sur la structure dunordinateur et le lien avec la logique boolenne, et le codage binaire, voir le cours Circuits lectroniques : du transistor, au calcul, la mmoire, en passant par les portes logiques Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 23. Et les supports de stockage ? Disque dur Surface magntique constitue de trs petitslments Deux valeurs +/ Ttes de lecture/criture gnrent un champ magntique capable de changer la polarit code binaire Mmoire flash base sur des semi-conducteurs deux tats Passage du courant passage dun tat lautre code binaire Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 24. Et les supports de stockage ? CD-ROM Lecture laser : la surface rflchissante renvoie lelaser Vierge = surface opaque = laser non renvoy Ecriture = percer un trou minuscule dans la surface opaque = la lumire laser est renvoye Deux tats : lumire renvoye ou non codage binaire CD-RW : couche dlments pouvant devenirtransparents/opaques suivant la chaleur impose binaire Conclusion : les supports de stockage utilisent le Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois binaire 25. Mesure de la taille des donnes 1 octet = 8 bits 1 Ko = 1024 octets (~1000) 1 Mo = 1024 Ko (~1000) 1 Go = 1024 Mo (~1000) 1 To = 1024 Go (~1000)Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 26. Conclusion Lordinateur gre tout sous forme binaire Les supports de stockage aussi Le binaire en plus dtre adapt la structuremme dun ordinateur a dautres avantages Souplesse pour coder les lments du monde Oprations courantes (multiplication par 2) simplicit + efficacit en machine Donc tout doit tre reprsent sous cette forme Etudions les codages en binaire de linformationsous toutes ses formes Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 27. Coder les nombres en binaire 28. Les entiers (rappel) Codage en base 10 : utilisation de0,1,2,3,4,5,6,7,8,9 pour coder les valeurs numriques Codage en base 2 : utilisation de 0,1 pour coder les valeurs numriques Tout entier en base n peut tre cod en binaire. Exemple 510 = 1012 car 5 = 1*22+0*21+1*20 En gnralnX X10 = bnbn-1bn-2....b2b1b0 si et seulement si : i 0 Formation ISN 2013 - Rprsentation numrique de l'information - David Langloisib 2 i 29. Oprations binaires Complmentaire 2 sur n bits Si A est un nombre binaire, alors lecomplmentaire c(A) est tel que : c(A) = 2n-A Remarque : c(A) = (2n-1)-A+1 2n-1 en base 2 = que des 1 Donc : (2n-1)-A : remplacer dans A les 1 par des 0 et les 0 par des 1 c(A) : puis ajouter 1 Calcul facile !Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 30. Complmentaire : exemple Si A = 10310, C(A) = 25610-10310 = 15310 Retrouvons ce rsultat avec la mthode de ladiapositive prcdente A : code 011001112 (application de la mthode classique) 28-1-A : code 100110002 (on remplace les 1 par 0 et 0 par 1) 28-1-A+1 : code 100110012 (on ajoute 1) Donc C(A) : code 100110012 Finalement : 100110012 = 128+16+8+1 = 15310 On retombe sur le rsultat ! Mais bon on nest passurpris puisquon a prouv que ce serait le cas dans la diapositive prcdente.Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 31. Oprations binaires SommeMultiplicationBase 2Base 10Base 10011171005111710101010005111101111R1Base 212R11111Multiplier par 2 = dcalage de tous les bits gauche, dernier bit 0 Diviser par 2 = dcalage de tous les bits droite, perte du bit de Formation 2013 - Rprsentation poids faibleISNl'information - David Langlois numrique de35 32. Codage Chaque valeur est code sur un nombre prfix debits Exemples : 8, 16, 32, 64 Notez les puissances de 2, qui simplifient ensuite lescalculs Note : 8 bits = 1 octet 1 bit = 2 valeurs possibles 2 bits = 4 valeurs possibles ... n bits = 2n valeurs possibles Un entier sur 8 bits peut coder 256 valeurs diffrentes constante importante : un ordinateur a toujours deslimites finies.Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 33. Codage 2n valeurs, daccord, mais lesquelles ? Tout dpend du codage choisi !! CEST UN CHOIX TOUT LE MONDE EST DACCORD SUR CECHOIX NORMALISATIONFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 34. Codage des entiers naturels (1/2) Sur n bits Valeurs de 0 2n-1 Exemple sur 8 bits 000000002 = 010 000000012 = 110 000000102 = 210 ... 111111102 = 25410 111111112 = 25510 Attention aux dpassements ! 111111112+000000012 = ??? Rponse 000000002 000000002-000000012 = ??? Rponse 111111112 Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 35. Codage des entiers naturels (2/2) Deux reprsentations possibles (selon lesmachines, les programmes) Bit de poids faible droite, bit de poids fort gauche Bit de poids faible gauche, bit de poids fort droite Il faut le savoir et grer en consquenceFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 36. Encodage/dcodage des entiers Quelle mthode appliquer la main ? Pour encoder de la base 10 la base 2 ? Pour dcoder de la base 2 la base 10 ? Tester sur des exemples : 210 = 102 310 = 112 1510 = 11112Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 37. De la base 2 vers la base 10 x2 = 10110111 x10 ? Appliquer la formule : 1*27+0*26+1*25+1*24+0*23+1*22+1*21+1*20 1*128+0*64+1*32+1*16+0*8+1*4+1*2+1*1 128+32+16+4+2+1 183 Mais de tte, difficile de calculer toutes cespuissances de 2 Il vaut mieux numrer les puissances de 2 enpartant de 1 (20) puis en multipliant par 2 chaque fois Formation ISN 2013 - Rprsentation de droite gauche On lit alors les bits numrique de l'information - David Langlois 38. De la base 10 vers la base 2 (1/2) x10 = 183 x2 ? On peut travailler sur la formule : 7Xb 2 b ii 07i0b 2 b ii 17i02i 1b 2 ii 16b02b 2 j 1j 0 Donc, on a le bit de poids faible, ensuite, il fautdcoder le reste de la division par 2 sans ce bit Formation ISN 2013 - Rprsentation numrique de l'information - David Langloisj 39. De la base 10 vers la base 2 (2/2) Exemple avec 183 bit=1, reste dcoder 183/2 = 91 bit=1, reste dcoder 91/2 = 45 bit=1, reste dcoder 45/2 = 22 bit=0, reste dcoder 22/2 = 11 bit=1, reste dcoder 11/2 = 5 bit=1, reste dcoder 5/2 = 2 bit=0, reste dcoder 2/2 = 1 bit=1, reste dcoder 1/2 = 0 Rsultat : 10110111 7Xb 2 b ii 07i0b 2 b ii 17iFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois02i 1b 2 ii 16b02b 2 j 1j 0j 40. Exercices Coder dans lautre base (sur 8 bits) 4910 12610 110100102 010110112 Les autres bases (souvent utilises en informatiquepar les humains) Base 8 : code avec 0,1,2,3,4,5,6,7 Base 16 : code avec 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F Coder 267110 en base 16. Cet exercice est propose dans la feuille dexercices,et donc corrig dans la feuille de correction. Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 41. Codage des entiers relatifs (sol 1) Sur n bits 1 bit pour le signe, n-1 bits pour la valeur (+) Simple (-) Dans les oprations, le bit de signe doit tre grcomme un cas particulier (-) existence de 2 0 (non conceptuellement satisfaisant), deux cas grer Nombre de valeurs pouvant tre codes : 2n-1 (et pas 2n)Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 42. Codage des entiers relatifs (sol 2) Sur n bits Complment 2 Si x est positif, reprsentation habituelle, Si x est ngatif, on code 2n-|x| (le bit de poids fortest 1) Exemple sur 8 bits 000001012 = 510 100001012 = 13310=256-12310=2810-12310 =>codage de-12310 (+) codage de 2n valeurs (un seul 000000000) Formation ISN 2013 - Rprsentation (+) lal'information - David Langlois numrique de somme des relatifs ne subit pas 43. Codage des entiers relatifs (sol 2) (-) codage moins vident que sol1 (+) la somme des relatifs ne subit pas dexception Base 2 sur 8 bitsBase 101111100000100411111101253 = 28-|x| x = -3000000011Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 44. Codage des entiers relatifs (sol3) En excdent Reprsentation dun intervalle [-i,+j] par les valeursdcales de i Exemple : Intervalle [-127,128] sur 8 bits [-127,128] contient bien 28=256 valeurs Dcalage de 127 Codage : -127 cod par 00000000 -126 cod par 00000001 ... ... -1 cod par 01111110 0 cod par 01111111 1 cod par 10000000 .... ... 127 cod par 11111110 128 cod par 11111111 Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 45. Exercices/solutions Coder -8910 sur 8 bits en : Bit de signe Complment 2 Excdent 127 Cet exercice fait partie de la feuille dexercices, etest donc corrig dans la feuille de correctionFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 46. Codage binaire des rels (1/3) Les rels sont considrs en notation scientifique x = +/- 0,a.10+/- b x peut tre rprsent par 2 entiers a et b (pour avoir 0,... il suffit dadapter la valeur de b) En binaire : x = +/- 1,a.2+/- b le 1 gauche est toujours l par convention (voir diapo suivante) On ne reprsente pas 0,101.2-3 mais 1,01.2-4 a et b sont en binaire Codage de la partie fractionnaire en puissancesngatives de 2 Exemple : 1,01011.22 3= 101,011 = 1*22+0*21+1*20+0*2-1+1*2-2+1*2-Formation ISN 2013 - Rprsentation numrique1,01011.22 - David Langlois de l'information = 4+1+0,25+0,125= 5,37510 47. Codage binaire des rels (2/3) Norme IEEE 754 Un rel est reprsent sur 32 bits : 1 bit pour le signe 8 bits en excdent 127 pour lexposant La mantisse est reprsente sous la forme 1,a. 23 bits pour a, le 1 gauche nest pas reprsent Exemple pour 5,375 510 = 1012 Soit 1,01......*22 a commence par 01 b = 210; on reprsente 2+12710 = 100000012 Reste 21 (23 moins les 2 de 01 droite de la virgule dans 1,01) bits pour reprsenter 0,375 Principe : si x = 0,b1b2... alors 2x = b1 + 0,b2... 2*0,375 = 0,75 0 2*0,75 = 1,5 1 2*0,5 = 1 1 5,37510 = 1,010112 Sur 32 bits : 010000001(1)01011000000000000000000 (le 1 est sous-entendu) 01000000101011000000000000000000 Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 48. Codage binaire des rels (3/3) Attention : seulement 232 valeurs possibles ! Les valeurs spciales Le zro est reprsent par 32 bits 0. Infini : exposant rempli de 1 et mantisse 0 Code erreur (exemple rsultat dune division par 0) : exposant rempli de 1 et mantisse diffrente de 0Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 49. Coder du texte en binaireFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 50. Codage binaire des caractres Problme : coder a,b, c, A, B, ?, ., , , , , ,caractres cyrilliques, asiatiques, arabes........ Plusieurs codages : voir la liste dans un traitement de texte ASCII : (American Standard Code for Information Interchange) 7 bits = 128 valeurs, le 8ime bit utilis pour vrification (lors des changes de donnes) Reprsentation de 128 caractres Pas assez pour toutes les langues ASCII tendu sur 8 bits (code ISO Latin-1) 8 bits = 256 caractres diffrents, assez pour langues latines et europennes Compatibilit avec le code ASCII (partage des 128 premiers caractres) UNICODE sur 16 bits 16 bits = 65536 caractres diffrents, assez pour tous les caractres de toutes les langues Compatible avec le code ASCII. Problme : consommation mmoire + gestion un peu complique des Formation caractres sur 2 octets (voir en TD). ISN 2013 - Rprsentation numrique de l'information - David Langlois 51. UTF-8 (1/2) Coder tous les caractres de la norme unicode Un octet ne suffit plus Coder sur n octets gourmand en taille codage sur un nombre variable doctets Codage Reprsentation binaireSignificationUTF-8 0xxxxxxx1 octet codant 1 7 bits (ASCII)110xxxxx 10xxxxxx2 octets codant 8 11 bits1110xxxx 10xxxxxx 10xxxxxx3 octets codant 12 16 bits11110xxx 10xxxxxx 10xxxxxx 10xxxxxx Formation ISN 2013 - Rprsentation4 octets codant 17 21 bitsnumrique de l'information - David Langlois 52. UTF-8 (2/2) (+) tous les caractres sont codables (+) : compatibilit totale avec lASCII sur 7 bits (-) taille variable dcodage plus complexe Dautres avantages/dfauts plus techniques Voir http://fr.wikipedia.org/wiki/UTF-8Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 53. Codage de valeurs symboliquesFormation ISN 2013 - Rprsentation numrique de l'information - David Langlois 54. Codage des valeurs symboliques Une possibilit : lister les valeurs possibles etassocier une valeur numrique chaque possibilit Exemple de la vie courante : Numro de scurit sociale Information HOMME code par 1 Information FEMME code par 2 Exemple dune table de couleurs dans un fichier image NOIR cod par 00000000 sur 8 bits BLANC cod par 00000001 sur 8 bits .... JAUNE COROT cod par 11111111 sur 8 bits 256 couleurs peuvent tre codes Il suffit de sentendre sur la table de correspondance(comme pour le code ASCII) Formation ISN 2013 - Rprsentation numrique de l'information - David Langlois 55. Codage des valeurs symboliques On peut aussi coder la structure de lobjet Exemple : coder un chemin de longueur au plus255 : 1 octet : longueur du chemin Puis :00 : un pas vers le nord 01 : un pas vers le sud 10 : un pas vers lest 11 : un pas vers louest un chemin de longueur 255 sera cod sur 1+255*2/8 ~= 65 octets un chemin de longueur x