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
CPGE PCSI DAKHLA 10/10/2012 Y.ELMARZAK

2 Information numérique = information binaire = 1 bit
Représentée par 2 niveaux de tension Codée par « 0 » logique ou « 1 » logique Différents codages pour représenter une information (binaire naturel, complément à 2, BCD, etc…) 10/10/2012 Y.ELMARZAK

3 Base 10 – Décimal Base 2 – Binaire Base 8 – Octal
10 symboles [ ] Base 2 – Binaire 2 symboles [ 0 1 ] Base 8 – Octal 8 symboles [ ] Base 16 – Hexadécimal 16 symboles [ A B C D E F ] 10/10/2012 Y.ELMARZAK

4 Conversion Binaire → Décimal
I.2 Représentation de l’information Conversion Binaire → Décimal On additionne les poids associés à chaque symbole Exemple : ( )2 = = (25)10 10/10/2012 Y.ELMARZAK

5 Conversion Décimal → Binaire
On effectue des divisions successives par 2 Exemple : 1 27 2 (55)10 = (110111)2 13 2 1 6 1 2 3 2 1 1 1 < 2 donc on arrête 10/10/2012 Y.ELMARZAK

6 Conversion Hexadécimal → Décimal
On additionne les poids associés à chaque symbole Exemple : ( B )16 = Bx x16 + 2x1 = 11x = (2850)10  Conversion Décimal → Hexadécimal On effectue des divisions successives par 16 10/10/2012 Y.ELMARZAK

7  Conversion Décimal → Hexadécimal
On effectue des divisions successives par 16 Exemple : (7172)10 en hexadécimal 7172 / 16 = reste 4 448 / 16 = reste 0 28 / 16 = reste 12 = C 1 < donc on arrête Résultat : (1C04)16 10/10/2012 Y.ELMARZAK

8 Conversion du binaire à l'octal/hexadécimal ou Inverse
Cas particuliers Conversion du binaire à l'octal/hexadécimal ou Inverse 1 chiffre octal = un groupe de 3 chiffres binaires 1 chiffre hexadécimal = un groupe de 4 chiffres binaires (000)2 = 0, (001)2 = (110)2 = 6, (111)2 = 7 Avec 3 bits on code les 8 chiffres de la base octale (0000)2 = 0, (0001)2 = (1110)2 = 14 = (E)16, (1111)2 = 15 = (F)16 Avec 4 bits, on code les 16 chiffres de la base hexadécimale 10/10/2012 Y.ELMARZAK

9 On regroupe par groupes de 3 bits : 010 110 001 101
Exemple : ( )2 en octal On regroupe par groupes de 3 bits : On rajoute des zéros au début au besoin (010)2 = 2, (110)2 = 6, (001)2 = 1, (101)2= 5 ( )2 = (2615)8 10/10/2012 Y.ELMARZAK

10 Exemple : (10110001101)2 en hexadécimal
On regroupe par groupes de 4 bits : (0011)2 = 5 , (1000)2 = 8, (1101)2 = 13  ( )2 = (58D)16 10/10/2012 Y.ELMARZAK

11 On concatène dans l'autre base ces groupes de 3 bits :
Exemple : (254)8 en binaire 2 = (010)2, 5 = (101)2, 4 = (100)2 On concatène dans l'autre base ces groupes de 3 bits : (254)8 = ( )2 Exemple : (D46C)16 en binaire D = 13 = (1101)2, 4 = (0100)2, 6 = (0110)2, C = 12 = (1100)2 On concatène dans l'autre base ces groupes de 4 bits : (D46C)16 = ( )2 10/10/2012 Y.ELMARZAK

12 Les informations directement traitées par un ordinateurs sont :
des données : entiers : naturels et relatifs flottants : nombres réels caractères des instructions : leur codage est spécifique à un processeur 10/10/2012 Y.ELMARZAK

13 On a vu le codage des nombres entiers positifs dans différentes bases
Mais on doit aussi pouvoir manipuler des Nombres réels Nombres négatifs 10/10/2012 Y.ELMARZAK

14 Exemples : 123,45 = 1 x 102 + 2 x 101 + 3 x 100 + 4 x 10-1 + 5 x 10-2
Conversion réel base B en décimal Exemples : 123,45 = 1 x x x x x 10-2 (101,101)2 = 1 x x x x 2-1 + 0 x x 2-3 = ,5 + 0,125 = 5,625 (AB,4E)16 = 10 x x x x 16-2 = x 0, x 0, = 171, 10/10/2012 Y.ELMARZAK

15 Utiliser la méthode de la division entière comme pour les entiers
 Conversion d'un nombre décimal réel en base B Pour la partie entière Utiliser la méthode de la division entière comme pour les entiers Pour la partie fractionnaire Multiplier la partie fractionnaire par B Noter la partie entière obtenue Recommencer cette opération avec la partie fractionnaire du résultat et ainsi de suite Arrêter quand la partie fractionnaire est nulle Ou quand la précision souhaitée est atteinte Car on ne peut pas toujours obtenir une conversion en un nombre fini de chiffres pour la partie fractionnaire La partie fractionnaire dans la base B est la concaténation des parties entières obtenues dans l'ordre de leur calcul 10/10/2012 Y.ELMARZAK

16 Exemple : conversion de 12,6875 en binaire
Conversion de 12 : donne (1100)2 Conversion de 0,6875 0,6875 x 2 = 1,375 = ,375 0,375 x 2 = 0,75 = ,75 0,75 x 2 = 1,5 = ,5 0,5 x 2 = 1 = (12,6875)10 = (1100,1011)2 Exemple : conversion de 171, en hexadécimal Conversion de 171 : donne (AB)16 Conversion de 0, 0, x = 4,875 = ,875 0,875 x = 14,0 = (171, )10 = (AB,4E)16 10/10/2012 Y.ELMARZAK

17 Représentation des nombres entiers
Il existe deux types d’entiers : les entiers non signés ( positifs ) et les entiers signés ( positifs ou négatifs ) Problème : Comment indiquer à la machine qu’un nombre est négatif ou positif ? Il existe 3 méthodes pour représenter les nombres négatifs : Signe/ valeur absolue Complément à 1 Complément à 2 10/10/2012 Y.ELMARZAK

18 Représentation signe / valeur absolue ( S/VA )
Si on travail sur n bits , alors le bit du poids fort est utilisé pour indiquer le signe : 1 : signe négatif 0 : signe positif Les autres bits ( n -1 ) désignent la valeur absolue du nombre. Exemple : Si on travail sur 4 bits. 1 001 0 001 Valeur absolue Valeur absolue Signe Signe 1001 est la représentation de - 1 0001 est la représentation de + 1 10/10/2012 Y.ELMARZAK

19 -(2 (n -1) -1) ≤ N ≤ +(2 (n -1) -1 ) Sur 3 bits on obtient :
valeur VA signe + 0 + 1 + 2 + 3 00 01 10 11 - 0 - 1 - 2 - 3 1 Les valeurs sont comprises entre -3 et +3 -3 ≤ N ≤ +3 - ( 4-1 ) ≤ N ≤ + (4 -1 ) -(22 -1) ≤ N ≤ +(22-1 ) -(2 (3 -1) -1) ≤ N ≤ +(2 (3 -1) -1 ) Si on travail sur n bits , l’intervalle des valeurs qu’on peut représenter en S/VA : -(2 (n -1) -1) ≤ N ≤ +(2 (n -1) -1 ) 10/10/2012 Y.ELMARZAK

20 Avantages et inconvénients de la représentation signe/valeur absolue
C’est une représentation assez simple . On remarque que le zéro possède deux représentations +0 et -0 ce qui conduit à des difficultés au niveau des opérations arithmétiques. Pour les opérations arithmétiques il nous faut deux circuits : l’un pour l’addition et le deuxième pour la soustraction . L’idéal est d’utiliser un seul circuit pour faire les deux opérations, puisque a- b =a + ( -b ) 10/10/2012 Y.ELMARZAK

21 Représentation en complément à 1
Pour trouver le complément à un d’un nombre, il suffit d’inverser tous les bits de ce nombre : si le bit est un 0 mettre à sa place un 1 et si c’est un 1 mettre à sa place un 0 Exemple : Sur 5 Bits Sur 4 Bits 10/10/2012 Y.ELMARZAK

22 Représentation en complément à 1
Dans cette représentation , le bit du poids fort nous indique le signe ( 0 : positif , 1 : négatif ). Le complément à un du complément à un d’un nombre est égale au nombre lui même . CA1(CA1(N))= N Exemple : Quelle est la valeur décimale représentée par la valeur en complément à 1 sur 6 bits ? Le bit poids fort indique qu'il s'agit d'un nombre négatif. Valeur = - CA1(101010) = - (010101)2= - ( 21)10 10/10/2012 Y.ELMARZAK

23 Valeur décimal Valeur en binaire Valeur en CA1 + 0 + 1 + 2 + 3 000 001
Si on travail sur 3 bits : Valeur décimal Valeur en binaire Valeur en CA1 + 0 + 1 + 2 + 3 000 001 010 011 - 3 - 2 - 1 - 0 - 011 - 010 - 001 - 000 100 101 110 111 Dans cette représentation , le bit du poids fort nous indique le signe . On remarque que dans cette représentation le zéro possède aussi une double représentation ( +0 et – 0 ) . 10/10/2012 Y.ELMARZAK

24 Complément arithmétique
Représentation en complément à 2 Complément arithmétique  Complément à 1 du nombre auquel on rajoute la valeur de 1  Dit « complément à 2 »  Codage nombres signés avec complément à 2  Nb positif : comme pour un entier non signé  Nb négatif : complément arithmétique de son opposé positif  Bit de poids fort code le signe : 0 = positif, 1 = négatif  Exemple : 6 = (0110)2 avec précision de 4 bits  Complément à 1 : 1001  Complément à 2 : = 1010 10/10/2012 Y.ELMARZAK

25 Entiers signés en binaire : résumé
Exemple pour codage de -57 pour les 3 méthodes, sur 8 bits: 57 = ( )2 Signe et valeur absolue : Complément à 1 : Complément à 2 : Dans tous les cas Si bit de poids fort = 0 : entier positif Si bit de poids fort = 1 : entier négatif 10/10/2012 Y.ELMARZAK

26 Si on travail sur 3 bits : + 0 + 1 + 2 + 3 000 001 010 011 - 4 - 3 - 2
valeur Valeur en binaire Valeur en CA2 + 0 + 1 + 2 + 3 000 001 010 011 - 4 - 3 - 2 - 1 - 100 - 011 - 010 - 001 100 101 110 111 Dans cette représentation , le bit du poids fort nous indique le signe . On remarque que le zéro n’a pas une double représentation. 10/10/2012 Y.ELMARZAK

27 multiplication, division) sont réalisables dans toute base B
Calculs dans une base B  Les opérations arithmétiques (addition, soustraction, multiplication, division) sont réalisables dans toute base B Avec mêmes règles que pour la base décimale Retenues également mais dépendant de la base Quand on additionne 2 chiffres a et b dans la base B Si la somme des valeurs décimales de a et b dépasse ou égale B alors il y a une retenue Exemple : principes de l'addition binaire 0 + 0 = 0 0 + 1 = 1 1 + 1 = 10 soit 0 avec une retenue de 1 10/10/2012 Y.ELMARZAK

28 Addition binaire  Exemple : : 0010 = 2 = 11 1101= 13 Autre exemple : : 1101 = 13 = 10 10111= 23 Addition de 2 nombres de 4 bits : on a besoin dans cet exemple de 5 bits Potentiel problème de débordement 10/10/2012 Y.ELMARZAK

29 Débordement : la taille allouée (8, 16 ... bits) au
codage d'un entier est trop petite pour coder ou stocker le résultat d'un calcul Exemple avec addition, sur 8 bits, non signé : = Besoin de 9 bits pour coder le nombre Stockage du résultat impossible sur 8 bits Exemple avec addition, sur 8 bits, signé : = Addition de 2 positifs donne un négatif ! 10/10/2012 Y.ELMARZAK

30 Soustraction binaire Soustraction binaire : peut faire comme en décimal 0-0=0 0-1=1 avec 1 retenue 1-0=1 1-1=0 Exemple : 1101 – 1011 1101 = 13 1011= 11 0010= 2 Autre technique : Utiliser les compléments à 2 et ne faire que des additions 10/10/2012 Y.ELMARZAK

31 Addition/soustraction binaire en signé
 Codage en complément à 2 Simplifie les additions et soustractions On peut additionner directement des nombres, quels que soient leurs signes, le résultat sera directement correct (si pas de débordement) et « bien codé » Soustraction d'un nombre = addition de son complément à 2 A – B = A + comp2 (B) Valable dans tous les cas, quels que soient les signes de A et B Là aussi le résultat est directement valide si pas de débordement 10/10/2012 Y.ELMARZAK


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

Présentations similaires


Annonces Google