Introduction au codage de l information: Quelques éléments d architecture de l ordinateur Comparaison de la carte perforée au DVD Pourquoi est-il nécessaire de coder l information? Numérisation Formats à partir du powerpoint «Le codage de l information» Manipuler à l aide d opérations élémentaires les 3 unités de base : bit, octet, mot Ajouter 2 entiers exprimés en binaire
Base binaire Quelle que soit la nature de l information traitée par un ordinateur (image, son, texte, vidéo ), elle est codée en binaire c est-à-dire écrite sous la forme d un ensemble de 0 ou 1. Cela donne un nombre écrit en base 2. Exemple : 01001011
En électronique, les 0 et les 1 correspondent à des niveaux électriques. 0 : le courant ne passe pas 1 : le courant passe Avec un fil, on peut coder 2 caractères ( 0 ou 1) Avec 2 fils, on peut coder 2² caractères (00;01;10;11) Avec 3 fils, on peut coder 2 3 caractères (000;001;.à compléter)
Combien de caractères, peut-on coder avec 8 fils? On peut coder 2 8 caractères soit 256. Chaque caractère sera constitué de 8 bits : c est-à-dire un octet. Bit : «binary digit», c est-à-dire 0 ou 1 en numérotation binaire. C est la plus petite information manipulable par une machine numérique
Octet (en anglais byte ou B avec une majuscule dans les notations) Unité standardisée par l IEC (International Electrotechnical Commission) depuis 1998 L octet est l unité de base pour calculer le contenu des supports informatiques (CD, disque dur, )
Entiers naturels Sur 8 bits, on peut coder les entiers naturels de 0 à 255.
En base 10: 238 = 2 * 100 + 3 * 10 + 8 = 2 * 10 2 + 3 * 10 1 + 8 * 10 0 Rang de poids fort Rang de poids faible
En base 2 1011 2 = 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 1 * 2 0 1011 2 = 8 + 0 + 2 + 1 1011 2 = 11 10 Convertir : 010111 2 en décimal
1 ère méthode Convertir un décimal en binaire Il faut faire une suite de divisions euclidiennes. Résultat: 77 10 = 1001101 2
Convertir un décimal en binaire 2ème méthode : conversion de 77 en binaire Rang binaire 7 6 5 4 3 2 1 0 128 64 32 16 8 4 2 1 0 1 0 0 1 1 0 1 77-128 <0 donc 0 77-64 = 13 >0 donc 1 13-32 < 0 donc 0 13-16 < 0 donc 0 13-8 = 5 >0 donc 1 5-4 = 1 >0 donc 1 1-2 < 0 donc 0 Il faut faire une suite de soustractions successives.
Exercice 1 Trouver la représentation en base deux du nombre 1000. Exercice 2 Chercher sur le Web la date de la mort de Charlemagne. Trouver la représentation en base deux de ce nombre. Exercice 3 Donner les représentations en base deux des nombres 1, 3, 7, 15, 31 et 63 (en utilisant les deux méthodes). Expliquer le résultat. Exercice 4 Peut-on avec 32 bits représenter un nombre entier naturel comme 10 78? (10 78 correspond pour les physiciens au nombre d'électrons dans l'univers.)
Exercice 5 Combien de chiffres binaires faut-il pour représenter le chiffre 10 000? (Ne pas chercher à convertir le nombre) Exercice 6 Ecrire, en pseudo-code, un algorithme permettant de convertir un nombre binaire sur 8 bits en un entier naturel de 0 à 255. Le traduire en algobox. Exercice 7 De même, écrire un algorithme permettant de convertir un entier naturel de 0 à 255 en binaire sur 8 bits.
Les entiers relatifs Méthode non retenue
Sur 8 bits (1 octet), l'intervalle de codage est [-128, 127]. Sur 16 bits (2 octets), l'intervalle de codage est [-32 768, 32 767]. Sur 32 bits (4 octets), l'intervalle de codage est [-2 147 483 648, 2 147 483 647]. D'une manière générale, le plus grand entier relatif positif codé sur n bits sera 2 n-1-1.
Le complément à deux : Méthode 1. Ecrire la valeur absolue du nombre en base 2. Le bit de poids fort doit être égal à 0. 2. Inverser les bits : les 0 deviennent des 1 et vice versa. On fait ce qu'on appelle le complément à un. 3. On ajoute 1 au résultat. Cette opération correspond au calcul de 2 n - x, où n est la longueur de la représentation et x la valeur absolue du nombre à coder. Exemple: -1 s écrit comme 256-1=255=11111111 2, pour les nombres sur 8 bits.
Exemple: Trouver la représentation binaire sur 8 bits de -27. 1. Ecrire 27 en binaire: 00011011 2. Ecrire son complément à 1: 11100100 3. Ajouter 1: 11100101 Résultat : -27 10 = 11100101 2
Exercice 1. Codez les entiers relatifs suivants sur 8 bits (16 si nécessaire) : 456, -1, -56. 2. Que valent en base dix les trois entiers relatifs suivants : 01101100 11101101 1010101010101010?
Réponses: 456 10 = 000111001000 2-1 10 = 11111111 2-56 10 =11001000 2 Remarque : l addition en binaire 1 + 1 = 0 avec une retenue de 1 1 + 0 = 1 0 + 0 = 0 01101100 2 = 108 10 11101101 2 = 237-256 = -19 Remarque : 2 8 = 256 2 7 = 128 11101101 2 = 237 > 128 1010101010101010 2 = 43690 65536 = - 21 846 Remarque : 2 16 = 65536 2 15 = 32768
Méthode pour convertir un nombre binaire m en entier relatif: Si cet entier relatif est donné par le mot m, on commence par calculer l entier naturel p représenté par ce mot. Si p est strictement inférieur à 2 n-1, c est l entier relatif représenté, s il est supérieur ou égal à 2 n-1, l entier relatif représenté est p 2 n.
Construire un algorithme permettant d ajouter 2 entiers exprimés en binaire?? Exercice 7.35* Representer les entiers relatifs 96 et 48 en binaire sur huit bits. Ajouter les deux nombres binaires obtenus en utilisant l algorithme de l addition binaire du chapitre 18. Quel est l entier relatif obtenu? Pourquoi est-il negatif?