USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : Objectifs du TP Ce TP a pour but 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats de fichiers. Outils utilisés la calculatrice Kcalc l éditeur hexadécimal Khexedit l éditeur de textes Kate le logiciel OpenOffice 1 Calculs en binaire, octal et hexadécimal Vous allez utiliser dans cette partie une calculatrice capable d effectuer des calculs en décimal, binaire, octal et hexadécimal. Cette calculatrice est celle fournie dans l environnement KDE utilisé dans les salles de TP. Elle se nomme Kcalc 1. 1.1 Démarrer et configurer Kcalc 1.1.1 Lancer l exécution de Kcalc Deux possibilités 1. depuis un terminal, taper la commande $ k c a l c & (le $ est l invite (ou prompt) de la ligne de commande) 2. à l aide de la souris, passer par le menu Menu > Bureautique > Accessoires > K Calc 1.1.2 Configurer Kcalc Au cas où la fenêtre de Kcalc ne montre pas les possibilités de calcul dans les bases binaire, octale, décimale et hexadécimale, utiliser la barre de menu du logiciel pour cocher l option Configuration > Boutons de logique Cette option cochée, vous devez avoir les fonctionnalités de calcul dans différentes bases, avec les opérateurs associés, comme le montre la figure 1. 1 Pour les utilisateurs de l environnement Windows, il est possible d utiliser la calculatrice fournie avec ce système. 1
Fig. 1 Vue sur la calculatrice K Calc (avec affichage des boutons logiques) 2
1.2 Choix de la base Exercice 1 : Observation du clavier En faisant varier le choix de la base de représentation des nombres, observez les conséquences sur le clavier numérique. Quelles sont les touches du clavier numérique accessibles selon la base choisie? Expliquez votre observation. Exercice 2 : Conversions Q 1. Quelles sont les écritures binaires, octales et hexadécimales des entiers 1, 10, 100, 1000, 10000? Q 2. Quelle est l écriture décimale des entiers dont la représentation binaire est 1, 10, 100, 1000, 10000? Q 3. Reprenez la question qui précède avec les bases octale et hexadécimales. Exercice 3 : Représentations et tailles Q 1. Pour chacune des valeurs de t suivantes rechercher le plus grand entier qui peut s écrire avec t chiffres (symboles) en base 16. t [1, 10] Q 2. Reprenez la question précédente pour les bases octale et binaire. 1.3 Opérations arithmétiques Exercice 4 : Faîtes l exercice 5 du TD1. 1.4 Opérations logiques Exercice 5 : L opérateur xor Q 1. Placez la calculatrice en base décimale. Effectuez les calculs a xor b pour les entiers a et b de votre choix. Puis répondez aux questions suivantes : 1. L opération xor est-elle commutative? 2. L opération xor admet-elle un élément neutre? 3. Existe-t-il un entier a tel que a xor 5 = 0? Si oui lequel? Est-ce que cette propriété est vraie pour tout entier autre que 5? Q 2. Placez la calculatrice en binaire, et cherchez une interprétation binaire (en termes d opérations sur les bits) de l opération xor. Exercice 6 : Opérateurs and et or Faites le même exercice que le précédent pour les deux opérateurs and et or. Exercice 7 : Opérateur lsh Q 1. Placez la calculatrice en décimal. Effectuez les calculs a lsh b avec l entier a de votre choix, et b = 1, 2 et 3. Q 2. Placez la calculatrice en binaire et effectuez les mêmes calculs. Comment interpréter l opérateur lsh? 3
2 Examen de fichiers avec un éditeur hexadécimal 2.1 L éditeur Khexedit Khexedit est un éditeur hexadécimal. Il permet d éditer (c est-à dire visualiser et modifier) n importe quel fichier. 2.1.1 Démarrer Khexedit Deux possibilités 1. depuis un terminal, taper la commande $ khexedit & (le $ est l invite (ou prompt) de la ligne de commande) 2. à l aide de la souris, passer par le menu Menu > D autres applications > Éditeurs de texte > Éditeur héxadécimal Fig. 2 Vue sur l éditeur hexadécimal Khexedit 2.2 Trois fichiers contenant un texte Voici trois fichiers contenant le même texte : 4
1. cigale1.txt 2. cigale2.txt 3. cigale1.sxw Exercice 8 : Q 1. Récupérez ces fichiers dans votre répertoire personnel. Q 2. Ouvrez ces fichiers à l aide de l éditeur de textes Kate. Voyez-vous une différence entre ces fichiers? Q 3. Ouvrez ces trois fichiers à l aide du logiciel OpenOffice (cherchez dans le menu). Voyez-vous une différence? Q 4. Quelle est la taille en octets de ces fichiers? Pour le savoir, dans un terminal tapez la commande ls -l. Q 5. Ouvrez les trois fichiers avec l éditeur hexadécimal Khexedit. Q 5.1. Reconnaissez-vous le texte contenu dans chacun des trois fichiers? Q 5.2. Quelle différence y a-t-il entre les fichiers cigale1.txt et cigale2.txt? 2.3 Deux fichiers contenant une image Voici deux fichiers contenant la même image : 1. adage.bmp au format bitmap 2. adage.gif au format gif. Exercice 9 : Q 1. Récupérez ces fichiers dans votre répertoire personnel. Q 2. Visualisez chacune le contenu de ces images à l aide de la commande display. Pour cela dans un terminal, tapez la commande $ d i s p l a y adage. bmp & Voyez-vous une différence entre les deux images à l écran? Q 3. Quelle est la taille de chacun des deux fichiers? Quel est le format le plus économique en taille? Q 4. Visualisez le contenu de chacun des deux fichiers à l aide de Khexedit. Que constatez-vous? Q 5. Faîtes une copie du fichier adage.bmp sous le nom adage2.bmp. Éditez le contenu de cette copie avec Khexedit. Modifiez les octets de votre choix à partir de l octet 03C0 h. Enregitrez la modification et visualisez le résultat avec la commande display. Qu obervez-vous? Q 6. Faîtes le même travail avec le fichier adage.gif. Que se passe-t-il? Tentative d explication... 5