CODAGE ET REPRÉSENTATION DES DONNÉES Le binaire

Documents pareils
Conversion d un entier. Méthode par soustraction

Codage d information. Codage d information : -Définition-

Représentation d un entier en base b

Informatique Générale

Représentation des Nombres

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Algorithme. Table des matières

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Chapitre 1 I:\ Soyez courageux!

Glossaire des nombres

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Une version javascript sera disponible directement dans le cours prochainement.

Licence Sciences et Technologies Examen janvier 2010

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Logiciel de Base. I. Représentation des nombres

I- Définitions des signaux.

Cours Informatique 1. Monsieur SADOUNI Salheddine

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Le codage informatique

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Le multiplexage. Sommaire

Architecture de l ordinateur

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Le chiffre est le signe, le nombre est la valeur.

IFT2880 Organisation des ordinateurs et systèmes

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Chapitre 10 Arithmétique réelle

DM 1 : Montre Autoquartz ETA

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Algèbre binaire et Circuits logiques ( )

2.4 Représentation graphique, tableau de Karnaugh

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Introduction à l algorithmique et à la programmation (Info 2)

V- Manipulations de nombres en binaire

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

IFT1215 Introduction aux systèmes informatiques

Acquisition et conditionnement de l information Les capteurs

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

1 Introduction au codage

Représentation d un nombre en machine, erreurs d arrondis

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

I. Cas de l équiprobabilité

Les opérations binaires

CAISSE ENREGISTREUSE ELECTRONIQUE SE-G1

La mémoire. Un ordinateur. L'octet. Le bit

Architecture des ordinateurs Introduction à l informatique

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.

Système binaire. Algèbre booléenne

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Projet Matlab : un logiciel de cryptage

ASR1 TD7 : Un microprocesseur RISC 16 bits

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Continuité en un point

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

THEME : CLES DE CONTROLE. Division euclidienne

Concevoir son microprocesseur

Structure du format BMP, sa lecture, sa construction et son écriture

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Chapitre 6. Fonction réelle d une variable réelle

IV- Comment fonctionne un ordinateur?

Probabilités. Une urne contient 3 billes vertes et 5 billes rouges toutes indiscernables au toucher.

Bases de programmation. Cours 5. Structurer les données

CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Chap17 - CORRECTİON DES EXERCİCES

CONFIGURATION ET UTILISATION

Logiciel Libre Cours 3 Fondements: Génie Logiciel

MPI Activité.10 : Logique binaire Portes logiques

Cours Premier semestre

Organisation des Ordinateurs

avec des nombres entiers

Introduction à l étude des Corps Finis

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Nombre de marches Nombre de facons de les monter

Dossier Logique câblée pneumatique

nom : Collège Ste Clotilde

Priorités de calcul :

Compter à Babylone. L écriture des nombres

Continuité et dérivabilité d une fonction

Fonctions homographiques

ELEC2753 Electrotechnique examen du 11/06/2012

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

I.1- DÉFINITIONS ET NOTIONS DE BASE

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Formats d images. 1 Introduction

Exercices de dénombrement

Procédure appropriée pour éditer les diagrammes avec ECM Titanium

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

TD : Codage des images

Transcription:

CHAPITRE 1 CODAGE ET REPRÉSENTATION DES DONNÉES 1.1 Le binaire Les ordinateurs et avant les calculateurs numériques ont été conçus autour des propriétés de la logique booléenne. La logique booléenne ou algèbre de Boole est une logique qui ne traite que des variables ne pouvant prendre que deux états (vrai/faux, /1, haut/bas, appuyé/relâché, éclairé/éteint). La logique booléenne comporte trois opérations élémentaires, ET, OU, NON. Il est possible uniquement avec les fonctions de la logique booléenne de réaliser toutes les opérations de calculs entre variables binaires, ainsi l addition : Pour une addition de deux variables binaire a et b on pose : R a + b =R S avec S, la somme et R la retenue. a et b ne peuvent prendre que les deux valeurs binaires et 1, on peut donc poser les quatre opérations suivantes : + = 1 + = 1 + 1 = 1 1 1 + 1 = 1 Le circuit électrique ci-dessous réalise l addition de deux variables a et b binaires, les deux variables S et R représentent la somme et la retenue. Si on associe la valeur binaire 1àl action bouton appuyé et à l action bouton relâché, on constate que les voyants S et R vont s allumer (valeur binaire 1) ou s éteindre (valeur binaire ). Ce schéma réalise un additionneur 1 bit, pour réaliser la même opération sur un nombre plus grand, il faudrait concevoir un schéma bien plus complexe, mais il est bien évident que ce circuit n est qu un modèle élémentaire d opérateur addition qui n est pas du tout représentatif des circuits internes d un microprocesseur. Les fonctions logiques d un microprocesseur sont réalisées à base de transistor et gravées directement sur le silicium. 35

36 1 Codage et représentation des données 1.1.1 Pour aller plus loin Quelques liens http://www.pise.info/algo/codage.htm http://fr.wikipedia.org/wiki/george_boole http://fr.wikipedia.org/wiki/alg%c3%a8bre_de_boole_(logique) On vient de le voir, un calculateur ne peut traiter que des valeurs binaires (vrai/faux, /1). Nous allons voir comment représenter les différentes informations (nombre entiers naturels ou relatif, réels, lettres, mots, son,...). 1.2 La base 2 Commençons par une vidéo : la numération des shadoks http://www.youtube.com/watch?v=m_sigfqfkbw Les shadoks utilisent la base 4 avec les 4 symboles Ga (), Bu (1), Zo (2), Meu (3), nous utilisons naturellement la base 1 mais aussi le système sexagésimal (base 6) pour la mesure du temps. Pour le système de numérotation Shadoks comme pour le notre le principe d écriture des nombres est la numération positionnelle, dans lequel c est la position du symbole graphique qui donne sa valeur, ce système se différencie de la numérotation additive dans lequel c est la forme du symbole qui donne sa valeur (numérotation egyptienne http://fr.wikipedia.org/wiki/num%c3%a9ration_%c3%a9gyptienne). 1.2.1 Principe de la numérotation positionnelle Soit un nombre en base 1 : 123456. Ce nombre ce lit en tenant compte de la base et de la position (figure 1.1). Chaque chiffre du nombre associé à son rang ( de à n-1) permet d obtenir le poids correspondant dans le nombre, ainsi le chiffre 4 de rang 2 a une valeur de 4 1 2 = 4 dans le nombre total. rang 5 4 3 2 1 1 2 3 4 5 6 1 6 1 = 6 1 1 5 1 1 = 5 1 2 4 1 2 = 4 1 3 3 1 3 = 3 1 4 2 1 4 = 2 1 5 1 1 5 = 1 + 123456 FIGURE 1.1 Principe de la numération de position en base 1

1.2 La base 2 37 1.2.2 Transcodage base n vers base 1 À partir de cette description, il possible de convertir un nombre écrit dans une base n dans la base 1. La figure 1.2 décrit le principe du passage de la base Shadok (base 4) à la base 1. rang 5 4 3 2 1 Bu Ga Zo Meu Ga Bu 4 Bu 4 = 1 4 = 1 4 1 Ga 4 1 = 4 1 = 4 2 Meu 4 2 = 3 4 2 = 48 4 3 Zo 4 3 = 2 4 3 = 128 4 4 Ga 4 4 = 4 4 = 4 5 Bu 4 5 = 1 4 5 = 124 + 121 FIGURE 1.2 Transcodade base 4 (Shadok) base 1 Cette méthode permet bien sûr de passer de la base 2 à la base 1 (figure 1.3). rang 5 4 3 2 1 poids 1 1 1 2 2 = 1 = 2 1 1 2 1 = 1 2 = 2 2 2 1 2 2 = 1 4 = 4 2 3 2 3 = 8 = 2 4 2 4 = 16 = 2 5 1 2 5 = 1 32 = 32 + 38 FIGURE 1.3 Transcodage base 2 base 1 L algorithme 1 décrit en pseudo code le principe de la conversion de la base 4 à la base 1. Cet

38 1 Codage et représentation des données algorithme ne traite pas le cas des bases supérieures à 1. Algorithme : delabase4àlabase 1 Données : N4 : nombre entier en base 4 Résultat : N1 : nombre entier en base 1 début N1 nbcar Nb de caractères de N4 pour i nbcar parpasde1faire num i eme caractère de N4 à partir de la droite N1 N1 + num 4 i 1 fin Afficher N1 fin Algorithme 1 : Delabase4àlabase 1 Exercice 15- Transcodage base N base 1 Corrigé page?? Convertir en base dix les nombres ci-dessous : 1235 (8) 1111 (2) ABCD (16) 432 (4) Exercice 16- Algorithme base 2 vers base 1 Corrigé page?? Écrire l algorithme pour passer de la base 2 à la base 1 1.2.3 Transcodage base 1 vers base n Pour passer de la base 1 vers la base 2 il suffit de réaliser des divisions euclidiennes (division entière) successives du nombre à convertir puis du quotient de cette division jusqu à ce que le quotiient soit nul. Le nombre binaire se lit alors du dernier reste vers le premier (figure 1.6). 121 2 1 6 2 3 2 15 2 1 7 2 1 3 2 1 1 2 1 121 (1) = 11111 (2) FIGURE 1.4 Transcodade base 1 base2

1.2 La base 2 39 Cette procédure permet de convertir un nombre écrit en base 1 dans n importe quelle base, il suffit pour cela de diviser par le nombre de base (figure 1.5). 1214 8 6 151 8 7 18 8 2 2 8 2 1214 (1) = 2276 (8) FIGURE 1.5 Transcodade base 1 base 8 Si on souhaite utiliser une base supérieure à 1, il est nécessaire d utiliser de nouveaux symboles pour décrire les chiffres supérieurs à 9, par convention, on utilise les lettres de l alphabet, 1 A, 11 B, 12 C,... Exercice 17- Transcodage base 1 base N Corrigé page?? Convertir les nombres ci-dessous dans les bases 2, 8, 16 : 1235 (1) 1111 (1) 432 (1) Exercice 18- Algorithme de changement de la base 1 base N>1 Corrigé page?? Concevoir un algorithme permettant de convertir un nombre écrit en base 1 vers une base supérieure à 1

4 1 Codage et représentation des données 1.2.4 Base 2 - Code binaire naturel Les techniques des quatre opérations de base (addition, soustraction, multiplication et division) restent exactement les mêmes qu en notation décimale, elles sont juste simplifiées de façon drastique parce qu il n y a que deux chiffres (zéro et un). Pour la multiplication par exemple, quelle que soit la base, la multiplication par 1 (soit 2, c est-à-dire par la base elle-même) se fait en ajoutant un zéro à droite. Seules changent d une part la forme de la suite de chiffres qui exprime le résultat (elle ne compte que des zéros et un), d autre part la signification de cette suite (1 signifie «deux» et non «dix», 1 signifie «quatre» et non «cent», etc.). Le codage des différents types de nombres (Entiers, relatif, réels) a été vu en informatique. 1.3 La base 16 - Hexadécimal Le système hexadécimal (la base 16) est très souvent utilisé en informatique car il permet une représentation rapide et courte des nombres binaires. En effet, on peut en regroupant les bits du nombre en base 2 par 4 en partant de la gauche et en complétant par desàdroite si nécessaire pour avoir un multiple de 4 bits, obtenir directement le code hexadécimal en remplaçant chaque groupe de 4 bits par le code hexadécimal correspondant (tableau 1.1). base 1 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 2 1 1 11 1 11 11 111 1 11 11 111 11 111 111 1111 16 1 2 3 4 5 6 7 8 9 A B C D E F TABLE 1.1 Tableau de conversion base 1, base 2, base 16 133 (1) = 1 11 (2) = 85 (16) 1214 (1) = 1 111 111 (2) = 4BE (16) FIGURE 1.6 Transcodade base 2 base 16 1.3.1 Pour aller plus loin On pourra lire les différents chapitre de wikipédia sur la numération et le codage : numération egyptienne http://fr.wikipedia.org/wiki/num%c3%a9ration_%c3%a9gyptienne numération maya 1.4 Autres codages D autres codages ont été imaginés pour répondre à des besoin spécifiques

1.4 Autres codages 41 1.4.1 Code Gray Le code Gray est un code binaire qui possède comme particularité de n avoir qu un bit qui change entre deux valeurs entières successives. Ce code permet entre de réaliser des codeurs de position absolu sans aléas de commutation. FIGURE 1.7 Codeur absolu Avec ce type de capteur, la position est connue de manière absolue, en cas de coupure de courant, lors du redémarrage, la lecture de la position sur le capteur donne la position. Ce type de capteur se différencie des codeur relatifs ou incrémentaux, pour lesquels, la position est connue uniquement par comptage des impulsions par rapport à une position de référence (origine). Pour obtenir le code Gray, il faut faire toutes les 2 1,2 2,2 3... lignes, une symétrie en commençant par le bit de droite et changer la valeur du bit de gauche. Décimal Binaire pur Binaire réfléchi 1 1 1 2 1 1 1 3 1 1 1 4 1 1 1 5 1 1 1 1 1 6 1 1 1 1 7 1 1 1 1 8 1 1 1 9 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 12 1 1 1 1 13 1 1 1 1 1 14 1 1 1 1 1 15 1 1 1 1 1 TABLE 1.2 Code binaire naturel et code Gray

42 1 Codage et représentation des données 1.4.2 Code BCD Travailler sur des nombres en binaire naturel est intéressant dans les calculateurs, car ces nombres sont pondérés, mais lorsqu on veut une image rapide de l équivalent décimal, on est amené à effectuer un transcodage long et fastidieux. Il est plus commode dans certaines applications, comme par exemple l affichage en décimal du contenu de compteurs, d utiliser la représentation BCD. Le BCD (Binary Coded Decimal, ou Décimal Codé en Binaire en français) est le code décimal le plus utilisé en électronique. Il contient des mots-code qui sont la traduction en binaire naturel (sur 4 bits) de chacun des dix chiffres du système décimal. Chaque élément binaire d un mot-code a un poids comme en binaire naturel : 8 4 2 1. Le BCD est donc un code pondéré. Pour retrouver un chiffre décimal à partir de son mot-code en BCD il suffit d effectuer une conversion binaire à décimal pour chacune des tétrades composant le code BCD. (a) décimal BCD 1 1 2 1 3 11 4 1 5 11 6 11 7 111 8 1 9 11 (b) 2 9 8 5 endécimal devient 1 11 1 11 en BCD TABLE 1.3 Tableau BCD Le code BCD n est pas un code optimal, il utilise 4 bits soit 2 4 = 16 combinaisons pour coder 1 valeurs. 1.4.3 Code p parmi n Les codes «p parmi n» correspondent à des codes pour lesquels n bits sont à 1 parmi n bits On distingues plusieurs codes «p parmi n», Le codes «2parmi5»,lesmots-code comprennent 5 bits dont 2 sont à 1 (et les 3 autres à ). Il existe plusieurs codes «2 parmi 5», et les plus utilisés sont le code«8421»etlecode«7421». Ces deux codes sont pondérés, la liste des poids figurant dans la dénomination du code. Les codes «2 parmi 5» font partie des codes spécialement conçus pour la transmission de l information et pour la détection des erreurs. En effet, si on reçoit un nombre codé en «2 parmi 5», pour détecter une éventuelle erreur dans ce nombre il suffit de compter le nombre de 1 logiques présents dans chacun des groupes de 5 bits. Si un groupe ne présente pas deux 1 logiques, on peut en déduire avec certitude qu il est erroné.

1.4 Autres codages 43 (a) 2 parmi 5 Décimal Code«2parmi5» Code«2parmi5» 8421 7421 11 11 1 11 11 2 11 11 3 11 11 4 11 11 5 11 11 6 11 11 7 11 11 8 11 11 9 11 11 TABLE 1.4 Tableau de conversion Décimal vers «p parmi n» Remarque : contrairement à d autres codes plus perfectionnés, les codes «2 parmi 5» permettent de détecter une erreur, mais ne permettent pas de la corriger. De plus, si lors de la transmission, 2 bits de valeurs différentes changent simultanément d état, aucune erreur ne pourra être détectée à l arrivée. Le code «3 parmi 5» est utilisé par la poste pour imprimer le code barre nécessaire aux lecteurs optiques Exercice 19- Codage de pièce - X-MP 21 Corrigé page?? Identification des pièces Le calculateur est équipé d un lecteur optique de codes à barres capable de lire le code 2/5 IN- TERLEAVED ("2 parmi 5 entrelacé") permettant d identifier automatiquement les pièces à souder. Chaque pièce est identifiée par un nombre de quatre chiffres décimaux C 3,C 2,C 1 et C. Le code 2/5 INTERLEAVED utilise 5 bits (2 valent 1 et 3 valent ) pour coder un chiffre décimal. Les chiffres de rang impair (C3 et C1) sont codés sur les barres noires, les chiffres de rang pair (C2 et C) sont codés sur les espaces entre les barres blanches. Les 1 sont codés par les barres ou espaces "larges" (utilisant deux largeurs de base), les sont codés par les barres ou espaces "étroits" (utilisant une largeur de base). Chaque chiffre de à 9 est codé sur 4 bits a, b, c et d de poids respectifs 1, 2, 4 et 7. Le code est complété par un bit de contrôle de parité e. Q1. Déterminer les codes des chiffres de 1 à 9 en présentant le résultat sous forme de tableau. En déduire le code du chiffre en justifiant son unicité. Déterminer le nombre correspondant au code de la figure ci-dessus. Le calculateur traduit chaque chiffre de ce code à barres en un nombre binaire codé sur les quatre bits s 3, s 2, s 1 et s (le poids du bit si vaut 2 i ).

44 1 Codage et représentation des données Q2. Établir la table de vérité des sorties s1 en fonction des entrées a, b, c, d et e. En déduire l équation simplifiée de la sortie s o. Poids 1 2 4 7 8 4 2 1 a b c d e s 3 s 2 s 1 s 1 2 3 4 5 6 7 8 9