La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Codage de l’information

Présentations similaires


Présentation au sujet: "Codage de l’information"— Transcription de la présentation:

1 Codage de l’information

2 Deux grandes catégories
Codage des nombres des caractères Fin

3 Codage des nombres 1/2 Présentation du binaire Systèmes de numération
Conversion d’un nombre de la base p à la base q Nombres à virgule Codage des chiffres et des nombres Suivant Retour

4 Anciennement 1 caractère
Unités de mesure Unité Puissance de 2 Octets Ordre Support de stockage (2005) 1 quartet 22 bits 1 octet 23 bits Anciennement 1 caractère 1 Kibioctet 210 octets 1024 octets ~103 1 Mébioctet 220 octets 1 048 576 octets ~106 Disquette : 1,44 Mio Mémoire centrale : 256 Mio CD-ROM : 655 Mio 1 Gibioctet 230 octets 1 073 741 824 octets ~109 DVD : 4,7  Gio Disque dur : 80 Gio 1 Tebioctet 240 octets 1 099 511 627 776 octets ~1012 1 Pebioctet 250 octets 1 125 899 906 842 624 octets ~1015

5 Nombre de configurations
1 bit 2 bits 3 bits 4 bits N° configuration 1 0 0 0 1 1 0 1 1 0 00 0 01 0 10 0 11 1 00 1 01 1 10 1 11 0 000 0 001 0 010 0 011 0 100 0 101 0 110 0 111 1 000 1 001 1 010 1 011 1 100 1 101 1 110 1 111 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

6 Sur n bits, il y a 2n configurations distinctes
Arbre 1 1 1 1 1 1 1 000 001 010 011 100 101 110 111 Sur n bits, il y a 2n configurations distinctes

7 Nombre de configurations
 Nombre de bits Nombre de configurations 4 24 = 16 5 25= 32 6 26 = 64 7 27 = 128 8 28 = 256 16 216 = Pour représenter N symboles, il faut au moins b bits où 2b-1 < N  2b Retour

8 Notion de code Caractères Nombres 0000 0000 0000 0001 0000 0010
0000 0000 0000 0001 0000 0010 0000 0011 1111 1100 1111 1101 1111 1110 1111 1111 a b z A B Z 1 9 Caractères Nombres

9 Sacs de billes O O O O O O O O O O O O O Sacs de 10 billes
2 sacs et 6 billes Base 10 : 2610 Sacs de 16 billes 1 sac et 10 billes Base 16 : 1A16 Sacs de 2 billes 1sac 1sac 0sac 1sac 0 reste Base 2 :

10 Système de numération Système décimal ou Base 10
10 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 123 = 1 * * = 1 * * * 100

11 Système de numération Système binaire ou Base 2 2 symboles : 0, 1
1011 = 1 * * * * 20

12 Système de numération Système octal ou Base 8
8 symboles : 0, 1, 2, 3, 4, 5, 6, 7 123 = 1 * * * 80

13 Système de numération Système hexadécimal ou Base 16
16 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, plus six symboles ajoutés A, B, C, D, E, F 1AB = 1 * A * B * 160

14 Système de numération Base B B symboles : x, y, z
Pour former un nombre, on juxtapose les symboles de cette base. On attribue un poids à chaque symbole en fonction de la position occupée dans le nombre xyx = x * B2 + y * B1 + x * B0

15 Forme canonique d’un nombre
NB= an * Bn + an-1 * Bn-1 + an-2 * Bn-2…a2 * B2 + a1 * B1 + a0 * B0 La représentation conventionnelle NB est obtenue en juxtaposant chaque symbole dans l'ordre : NB = an an-1 an-2 …a2 a1 a0  où ai représente un symbole en base B.

16 Interprétations d’un nombre
11012 = 11018 = = = 1 * * * * 20 1 * * * * 80 1 * * * * 100 1 * * * * 160 888 = 8810 = 8816 = 8 n’est pas un symbole de la base 8 8 * * 100 8 * * 160

17 Les 16 premiers nombres Retour Base 2 Base 8 Base 10 Base 16 0000 0001
0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 10 8 1001 11 9 1010 12 A 1011 13 B 1100 14 C 1101 15 D 1110 16 E 1111 17 F Retour

18 Exercices 50 peut-il être un nombre de la base 5 ?
Forme canonique : 5 * * 80 77 peut-il être un nombre de la base 8 ? Forme canonique : 7 * * 80 FF peut-il être un nombre de la base 16 ? Forme canonique : F * F * 160 Écrire le 17ème nombre en base 2 100012 en base 8 218 en base 16 1116

19 Conversion de B2 à B10 Pour passer de la base 2 à la base 10, il faut appliquer la forme canonique, exprimer tous les symboles de la base 2 ainsi que 2 en base 10, puis calculer en base 10. Rang 7 6 5 4 3 2 1 Poids 27 26 25 24 23 22 21 20 Poids calculé 128 64 32 16 8 Exemple 1011 10102 128 + 32 + 16 + 8 + =18610

20 Conversion de B2 à B10 0000 11112 8 + 4 + 2 + =1510 Rang 7 6 5 4 3 2 1
Poids 27 26 25 24 23 22 21 20 Poids calculé 128 64 32 16 8 Exemple 0000 11112 8 + 4 + 2 + =1510

21 Conversion de B2 à B10 0001 00002 =1610 Rang 7 6 5 4 3 2 1 Poids 27 26
Poids 27 26 25 24 23 22 21 20 Poids calculé 128 64 32 16 8 Exemple 0001 00002 =1610

22 Conversion de B2 à B10 1010 10102 17010 Rang 7 6 5 4 3 2 1 Poids 27 26
Poids 27 26 25 24 23 22 21 20 Poids calculé 128 64 32 16 8 Exemple 1010 10102 17010

23 Conversion de B10 à B2 Méthode des divisions successives : Pour convertir un nombre N10 de la base 10 en un nombre N2 en base 2, il faut diviser le nombre N10 puis ses quotients successifs Qi par la base 2 jusqu’à l’obtention du quotient nul, convertir les restes en base 2 et inverser leur ordre. Application Conversion du nombre 1310 en base 10 en son nombre correspondant en base 2. 13 2 1 6 3 Quotient nul

24 Conversion de B10 à B2 11 2 1 5 Quotient nul 10112

25 Conversion de B10 à B16 2610 16 10 1 1A16

26 Conversion de B10 à B16 10010 16 4 6 6416

27 Conversion de B10 à B16 25510 16 15 FF16

28 Conversion de B10 à B2 2610 2 13 1 6 3

29 Conversion de B10 à B2 10010 2 50 25 1 12 6 3

30 Conversion de B10 à B2 255 2 1 127 63 31 15 7 3

31 Conversion entre B2 et B16 0001 1010 1 A
Regroupement par 4 : Pour passer de la base 2 à la base 16, il suffit de regrouper les bits par 4 et de traduire chaque groupe en son symbole correspondant dans la base 16. Dégroupement par 4 : Pour passer de la base 16 à la base 2, il suffit de traduire chaque symbole de la base 16 à sa configuration correspondante sur 4 bits en base 2. retour

32 Conversion de B2 à B16 1 1010 A Binaire Hexa 1010 A 1011 B 1100 C 1101
1110 E 1111 F 110 0100 6 4 1111 F

33 Conversion de B16 à B2 Binaire Hexa 1010 A 1011 B 1100 C 1101 D 1110 E
1111 F 6 4 0110 0100 A B 1010 1011 5 E 0101 1110

34 Stratégie B10  B2 Passer de B10 à B16 par divisions successives puis de B16 à B2 par dégroupement 10010 16 4 6 6 4 0100 0110

35 Stratégie B2  B10 0001 1010 1 A Passer de B2 à B16 par regroupement
puis de B16 à B10 par application de la forme canonique 0001 1010 1 A 1A16 = 1 * * 160 = = 2610

36 NB = a-1 * B-1 + a-2 * B-2 + a-3 * B-3 + … + a-n * B-n
Nombres à virgule Forme canonique définissant la partie décimale NB = a-1 * B-1 + a-2 * B-2 + a-3 * B-3 + … + a-n * B-n Exemple en binaire 0,1012 = 1 * 21 + 0* 22 + 1 * 23 Rang 1 2 3 4 5 Poids 21 22 23 24 25 Poids calculé 0,5 0,25 0,125 0,0625 0,03125 Exemple 1 0,625 =

37 Nombres à virgule : Conversion
Pour convertir en base 2, la partie fractionnaire d'un nombre en base 10, il faut multiplier les parties fractionnaires successives par 2 et conserver la partie entière, jusqu'à ce que la précision suffisante soit obtenue ou que la partie fractionnaire soit à zéro. Exemples 625 375 14 1 250 750 28 50 5 56 12 0, > 0, , > 0,0112 0,1410 -> 0,0012 retour

38 Chiffres <-> Configurations
DCB Code +3 Aiken Autre config Code 5 dt 2 11000 1 00011 2 00101 3 00110 4 01001 5 01010 6 01100 7 10001 8 10010 9 10100 Retour

39 Codage des nombres 2/2 Codage en binaire pur
Codage en binaire complément à 2 Représentation des nombres réels Retour

40 Codage en binaire pur Les entiers naturels sont codés en binaire pur.
Cela signifie que le nombre en base 10 est converti en base 2 et que le signe n'est pas représenté. Sur b bits, il y a 2b configurations disponibles. La simple précision correspond à des entiers codés sur 2 octets, soit 16 bits. 0  n  216 – 1 0  n  65 535 La double précision,correspond à des entiers codés sur 4 octets, soit 32 bits. 0  n  232 – 1 0  n  Tous les entiers ne sont pas représentés ! Retour

41 Exemple 12 en binaire pur 12 = 8 + 4 = 23 + 22 Quartet : 1100
Représenter 12 sur un quartet, un octet, 2 octets 12 = = Quartet : Octet : Deux octets :

42 Exemple 18 en binaire pur 18 = 16 + 2 = 24 + 21
Représenter 18 sur un quartet, un octet, 2 octets 18 = = Cet entier a besoin de 5 bits Quartet : ? Octet : Deux octets :

43 Amplitude de la représentation
Représenter sur 2 octets 216-1 = < nécessite le 17ème bit Entier double : 4 octets : = =

44 Codage des nombres négatifs
Configuration sur 4 bits Binaire signé Complément à 2 0 000 + 0 0 001 + 1 0 010 + 2 0 011 + 3 0 100 + 4 0 101 + 5 0 110 + 6 0 111 + 7 1 000 - 0 - 8 1 001 - 1 - 7 1 010 - 2 - 6 1 011 - 3 - 5 1 100 - 4 1 101 1 110 1 111 Binaire signé 3-3 1110 soit -6 !!! Complément à 2 3-3 0011 1101 1 0000 soit 0

45 Construction du complément à 2
Codification : la somme d’un nombre et son opposé x + (-x) = 0 Soit x un nombre en base 2 sur 4 bits Soit X le nombre obtenu à partir de x en échangeant les 0 et les 1 Par construction : x + X = 1111 1111 est le précédent de soit 24 1111 est 24 – 1 Donc x + X = 24 -1 Donc –x = X Or 24 correspond à qui utilise 5 bits alors que la configuration est limitée à 4 bits. -x = X + 1 X est appelé complément à 1. Il est obtenu en échangeant les 0 et les 1. -x est appelé complément à 2. Il est obtenu en ajoutant 1 au complément à 1

46 Codage en complément à 2 x = (X + 1) mod 24
X est appelé complément à 1. Il est obtenu en échangeant les 0 et les 1. -x est appelé complément à 2 de x. Il est obtenu en ajoutant 1 au complément à 1. Exemple 1 x 310 1 x ? X 310 Exemple 2 510 510 Retour

47 Interprétation 1111 0000 Quel est le nombre représenté par 1111 0000 ?
Il faut connaître le mode de représentation Binaire pur = = 240 Binaire signé = -( ) = -( ) = -112 Complément à 2 est un nombre négatif Complément à 1 soit 24 donc c’est -16

48 Interprétation 1010 1010 Quel est le nombre représenté par 1010 1010 ?
Il faut connaître le mode de représentation Binaire pur = = 170 Binaire signé = -( ) = -( ) = -42 Complément à 2 est un nombre négatif Complément à 1 soit donc c’est -85

49 Représentation des réels
Les nombres réels sont représentés en notation scientifique. Le nombre est écrit sous forme normalisée : signe S, mantisse 1  M < B, base B et exposant E : S . M . BE Exemple 9,7510 = 0000 1001,112 Soit 1, 12,62510= 0000 1100,1012 Soit 1, Dans la norme IEEE 754, aussi appelée Little Endian, le nombre réel est codé sur quatre octets, soit 32 bits, en simple précision ou sur 8 octets double précision. Type réel Signe Exposant Mantisse Total Simple précision 1 bit 8 bits 23 bits 32 bits Double précision 11 bits 52 bits 64 bits

50 Notation hexadécimale
Exemple du réel 9,75 9,7510 -> 1001,112 Conversion en base 2 soit Normalisation 1, Signe : 0 Mantisse : à compléter sur 23 bits Exposant : = 130 = = soit Type réel Sg Exposant Mantisse Nombre réel Simple précision  0     9,7510 Notation hexadécimale 41 1C 00 41 1C 00 0016 Soit en Little Endian : C 41 Retour

51 Notation hexadécimale
Exemple du réel 12,625 12, > 1100,1012 Conversion en base 2 soit Normalisation 1, Signe : 0 Mantisse : à compléter sur 23 bits Exposant : = 130 = = soit Type réel Sg Exposant Mantisse Nombre réel Simple précision  0     12,62510 Notation hexadécimale 41 4A 00 41 4A 00 0016 Soit en Little Endian : A 41 Retour

52 Exemple Little Endian 00 DC 97 C4
Soit en Little Endian : 00 DC 97 C4 Type réel Sg Exposant Mantisse Nombre réel Simple précision 1  1     -1214,87510 Notation hexadécimale C4 97 DC 00 C4 97 DC 0016 Signe : 1 signe négatif Exposant = = = 137 Retrait de 127 de l’exposant : 137 – 127 = 10 Mantisse Rajouter l’unité 1,     * 210 Soit , Partie entière : soit 4 BE16 F. Canonique : 4 * * * 160 = 4 * * = 1214 Partie décimale : 0,111 = = 0,5 + 0,25 + 0,125 = 0,875 Résultat -1214,875 Retour

53 Codage des caractères 1/2
Notion de code Le Morse Le code Baudot Le code ISO à 6 bits Le code ASCII Le code EBCDIC Suivant Retour

54 Codage des caractères 2/2
Les normes ISO 8859-N Unicode Les algorithmes UTF Codage d’une page Web Retour

55 Le Morse Retour - - - - - A . - Allo N - . Noé 1 . - - - - B - ...
A . - Allo N - . Noé 1 B - ... Bonaparte O - - - Ostrogoth 2 C Coca-Cola P Psychologie 3 D - .. Docile Q Quoquoriquo 4 E . Et R . - . Ramoneur 5 F .. - . Farandole S ... Salade 6 G - - . Gondole T - Thon 7 H .... Hilarité U .. - Ultrason 8 I .. Ici V ... - Valparaiso 9 J Jiromoto W . - - Wagon-Post K - . - Kohinor X - .. - Xrocadéro L . - .. Limonade Y Yolimoto M - - Moto Z - - .. Zoroastre Retour

56 Code Baudot Upper Case Lower Case Retour Poids faible 1 2 3 4 5 6 7
1 2 3 4 5 6 7 fort 000 001 010 011 100 101 110 111 00 Rés 9 Esp , . 01 Interlg ) 8 : ; 10 " * ? ' / 11 - Appel ( Upper Case Poids faible 1 2 3 4 5 6 7 fort 000 001 010 011 100 101 110 111 00 Rés T O Esp H N M 01 Interlg L R G I P C V 10 E Z D B S Y F X 11 A W J U Q K Lower Case Retour

57 Code ISO Retour SP HT LF VT FF CR SO SI ( ) * + ,  . / : ; $ = & ´
Poids faible 1 2 3 4 5 6 7 8 9 A B C D E F fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 SP HT LF VT FF CR SO SI ( ) * + , . / 01 : ; $ = & 10 NUL G H I J K L M N O 11 P Q R S T U V W X Y Z [ ] ESC DEL Retour

58 Code ASCII Poids faible 1 2 3 4 5 6 7 8 9 A B C D E F fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 000 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 010 SP !1 " # $ % & ' ( ) * + , . / 011 : ; < = > ? 100 @ G H I J K L M N O 101 P Q R S T U V W X Y Z [1 \ ] 1 ^1 _1 110 ` a b c d e f g h i j k l m n o 111 p q r s t u v w x y z { | } ~ DEL Rechercher le code du 0 et du 9, en binaire, en hexadécimal et en décimal Rechercher le code du A et du Z en binaire, en hexadécimal et en décimal Idem pour a et z Retour

59 Code EBCDIC B8 = 0 Poids Faible 1 2 3 4 5 6 7 8 9 A B C D E F fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 NUL SOH STX ETX PF HT LC DEL EOM VT FF CR SO SI DLE DC1 DC2 DC3 RES NL BS IL CAN EM iFS iGS iRS iUS FS BYP LF ETB ESC SM ENQ ACK BEL SYN PN RS US EOT DC4 NAK SUB SP ç1 . < ( + |1 & ! 1 $ * ) ; 1 / , % _1 > ? : # @ ' = " Code EBCDIC Extended Binary Coded Decimal Interchange Code, normalisé sur 8 bits. 8ème bit à 0 Suivant

60 Code EBCDIC B8 = 1 Poids Faible 1 2 3 4 5 6 7 8 9 A B C D E F fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 a b c d e f g h i j k l m n o p q r s t u v w x y z { G H I } J K L M N O P Q R \ S T U V W X Y Z Code EBCDIC Extended Binary Coded Decimal Interchange Code, normalisé sur 8 bits. 8ème bit à 1 Retour

61 ISO 8859-1 La norme ISO 8859-1 ou Latin-1 ou Europe Occidentale
Poids faible 1 2 3 4 5 6 7 8 9 A B C D E F fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ La norme ISO ou Latin-1 ou Europe Occidentale Suivant

62 ISO 8859-15 ISO 8859-15 ou Latin - 9 Suivant Š š ¡ ¢ £ € ¥ § © ª « ¬ ­
Poids faible 1 2 3 4 5 6 7 8 9 A B C D E F fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Š š Ž ž Œ œ Ÿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ ISO ou Latin - 9 Suivant

63 CP 1252 Jeu de caractères CP1252 ou WinLatin1 Retour € ‚ ƒ „ … † ‡ ˆ ‰
Poids faible 1 2 3 4 5 6 7 8 9 A B C D E F fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 ƒ ˆ Š Œ Ž ˜ š œ ž Ÿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Jeu de caractères CP1252 ou WinLatin1 Retour

64 Unicode Chaque caractère est codé sur 2 octets.
Unicode offre configurations Les symboles de toutes les langues peuvent être représentés. Les caractères des langues latines sont représentées sur 2 octets au lieu d’un seul, => taille des fichiers est doublée [1] IEC : International Electronical Commission. Retour

65 L’algorithme UTF-8 codage UTF-8 0vvvvvvv 1 octet codant 1 à 7 bits 110vvvvv 10vvvvvv 2 octets codant 8 à 11 bits 1110vvvv 10vvvvvv 10vvvvvv 3 octets codant 12 à 16 bits 11110vvv 10vvvvvv 10vvvvvv 10vvvvvv 4 octets codant 17 à 21 bits Les algorithmes UTF, Unicode Transformation Format, décrivent des ruses pour réduire à un octet, le codage d’un caractère Unicode qui s’exprime normalement sur 2 octets. Retour

66 Algorithme UTF-8 A A 4 1 Hexa 0100 0001 UTF-8
codage UTF-8 0vvvvvvv 1 octet codant 1 à 7 bits 110vvvvv 10vvvvvv 2 octets codant 8 à 11 bits 1110vvvv 10vvvvvv 10vvvvvv 3 octets codant 12 à 16 bits 11110vvv 10vvvvvv 10vvvvvv 10vvvvvv 4 octets codant 17 à 21 bits Le caractère latin A est codé sur les 7 premiers bits. En UTF-8 il tient sur 1 octet. A 4 1 Hexa 0100 0001 UTF-8

67 Algorithme UTF-8 é é E 9 Hexa 1110 1001 UTF-8 1100011 10101001
codage UTF-8 0vvvvvvv 1 octet codant 1 à 7 bits 110vvvvv 10vvvvvv 2 octets codant 8 à 11 bits 1110vvvv 10vvvvvv 10vvvvvv 3 octets codant 12 à 16 bits 11110vvv 10vvvvvv 10vvvvvv 10vvvvvv 4 octets codant 17 à 21 bits Le caractère accentué é utilise le 8ème bit. En UTF-8 il est codé sur 2 octets. é E 9 Hexa 1110 1001 UTF-8 Nb octets

68 Algorithme UTF-8 € € 2 A C Hexa 0010 0000 1010 1100 UTF-8 11100010
codage UTF-8 0vvvvvvv 1 octet codant 1 à 7 bits 110vvvvv 10vvvvvv 2 octets codant 8 à 11 bits 1110vvvv 10vvvvvv 10vvvvvv 3 octets codant 12 à 16 bits 11110vvv 10vvvvvv 10vvvvvv 10vvvvvv 4 octets codant 17 à 21 bits Le caractère accentué € utilise 14 bits. En UTF-8 il est codé sur 3 octets. 2 A C Hexa 0010 0000 1010 1100 UTF-8 3 octets

69 Codage d’une page Web Retour
Content-Type de l'en-tête HTTP d'un message : HTTP/ OK Content-Length: … Content-Type: text/html; charset:ISO ; Server: … Content-Location: … Date: … Last-Modified: … Métabalise d’un document HTML : <head> <meta http-equiv= "Content-Type" content="text/html; charset=iso8859-1"> </head> Retour

70 FIN C’est tout pour aujourd’hui
Mes remerciements pour votre participation


Télécharger ppt "Codage de l’information"

Présentations similaires


Annonces Google