TP 1 : 1 Calculs en binaire, octal et hexadécimal

Univ. Lille 1 - Licence Informatique 2ème année
2013-14
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 chiers.
Outils utilisés
une calculatrice
un éditeur hexadécimal (hexedit)
un éditeur de textes
le logiciel (LibreOffice)
1 Calculs en binaire, octal et hexadécimal
Vous allez utiliser dans cette partie une calculatrice capable d'eectuer des calculs en décimal,
binaire, octal et hexadécimal. Cette calculatrice est celle fournie dans l'environnement Gnome
utilisé dans les salles de TP. Elle se nomme gcalctool.
1.1 Démarrer et congurer gcalctool
1.1.1 Lancer l'exécution de gcalctool
Deux possibilités
1. depuis un terminal, taper la commande
> gcalctool &
(le > représente l'invite (ou prompt) de la ligne de commande, il ne faut donc pas taper ce
caractère.)
2. à l'aide de la souris, passer par le menu
Applications > Accessoires > Calculatrice
1.1.2 Congurer gcalctool
Assurez-vous d'être bien dans le mode Programmation an de bénécier des possibilités de
calcul dans les bases binaire, octale, décimale et hexadécimale. Pour cela utiliser la barre de menu
du logiciel pour choisir l'option
Mode > Programmation
Cette option sélectionnée, vous devez avoir les fonctionnalités de calcul dans diérentes bases,
avec les opérateurs associés, comme le montre la gure 1.
1
Figure 1 Vue sur la calculatrice gcalctool
2
1.2 Choix de la base
Exercice 0-1
Conversions
Question 1 Quelles sont les écritures binaires, octales et hexadécimales des entiers 1, 10, 100, 1000,
10000 ?
Question 2 Quelle est l'écriture décimale des entiers dont la représentation binaire est 1, 10, 100, 1000,
10000 ?
Question 3 Reprenez la question qui précède avec les bases octale et hexadécimales.
Exercice 0-2
Représentations et tailles
Question 1 Pour chacune des valeurs de t comprises entre 1 et 10, recherchez le plus grand entier qui
peut s'écrire avec t chires (symboles) en base 16.
Question 2 Reprenez la question précédente pour les bases octale et binaire.
1.3 Opérations arithmétiques
Exercice 0-3
À l'aide de la calculatrice, vériez les réponses de l'exercice 5 du polycopié du cours sur quelques
exemples.
1.4 Opérations logiques
Exercice 0-4
L'opérateur
xor
Question 1 Placez la calculatrice en base décimale, et eectuez 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 ?
Question 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 0-5 Opérateurs and et or
Faites le même exercice que le précédent pour les deux opérateurs and et or.
Opérateur lsh
Exercice 0-6
Question 1 Placez la calculatrice en décimal. Eectuez les calculs a lsh b avec l'entier a de votre choix,
et b = 1, 2 et 3.
Question 2 Placez la calculatrice en binaire et eectuez les mêmes calculs. Comment interpréter l'opérateur
lsh ?
3
2 Examen de chiers avec un éditeur hexadécimal
hexedit est un éditeur hexadécimal. Il permet d'éditer (c'est-à-dire visualiser et modier) n'importe quel chier en mode hexadécimal.
2.1 Trois chiers contenant un texte
Récupérez l'archive cigale.zip et décompressez-la ! Elle contient trois chiers contenant le
même texte :
1. cigale1.txt
2. cigale2.txt
3. cigale1.odt
Exercice 0-7
Question 1 Récupérez ces chiers dans votre répertoire personnel.
Question 2 Ouvrez ces chiers à l'aide d'un éditeur de textes. Voyez-vous une diérence entre ces chiers ?
Question 3 Ouvrez ces trois chiers à l'aide du logiciel OpenOffice ou LibreOffice (cherchez dans le
menu). Voyez-vous une diérence ?
Question 4 Quelle est la taille en octets de ces chiers ? Pour le savoir, dans un terminal tapez la commande
ls -l.
Question 5 Ouvrez les trois chiers avec un éditeur hexadécimal.
Pour cela dans un terminal tapez la commande hexedit suivie du nom du chier à éditer. Par exemple
> hexedit cigale1 . txt
Q 51 Reconnaissez-vous le texte contenu dans chacun des trois chiers ?
Q 52 Quelle diérence y a-t-il entre les chiers cigale1.txt et cigale2.txt ?
2.2 Deux chiers contenant une image
Voici deux chiers contenant la même image :
1. adage.bmp au format
2. adage.gif au format
bitmap
gif
Exercice 0-8
.
Question 1 Récupérez ces chiers dans votre répertoire personnel.
Question 2 Visualisez chacune le contenu de ces images à l'aide de la commande display. Pour cela
dans un terminal, tapez la commande
> display adage . bmp &
4
Voyez-vous une diérence entre les deux images à l'écran ?
Question 3 Quelle est la taille de chacun des deux chiers ? Quel est le format le plus économique en
taille ?
Question 4 Visualisez le contenu de chacun des deux chiers à l'aide de hexedit. Que constatez-vous ?
Question 5 Faîtes une copie du chier adage.bmp sous le nom adage2.bmp. Éditez le contenu de cette
copie avec hexedit. Modiez les octets de votre choix à partir de l'octet 03C0h . Enregistrez la modication
et visualisez le résultat avec la commande display. Qu'obervez-vous ?
Question 6 Faîtes le même travail avec le chier adage.gif. Que se passe-t-il ? Tentative d'explication. . .
5