Mathventure

Informatique

Initiation à l’informatique et architecture des ordinateurs

Licence 1 Semestre 1 Intermédiaire 3 h 11 exercices corrigés

Architecture et représentation des données

Un ordinateur reçoit des données, les représente, exécute des instructions et conserve des résultats. Le processeur exécute les instructions, la mémoire vive sert au travail courant et le stockage conserve les fichiers après l'arrêt.

Définition 1 (Bit, octet et numération binaire). Un bit vaut $0$ ou $1$ ; un octet contient $8$ bits. En binaire, les poids des chiffres sont $1,2,4,8,\ldots$ de droite à gauche. Un entier non signé sur $n$ bits prend ses valeurs de $0$ à $2^n-1$. Ici, $1$ Kio $=1024$ octets ; on distingue cette unité de $1$ ko $=1000$ octets.

Exercice 2 (Lire et écrire en base deux). Convertir $(101101)_2$ en décimal, puis écrire $58$ en binaire. Quel est le plus grand entier non signé représentable sur $8$ bits ?

Indice

Décompose les nombres en sommes de puissances de $2$.

Solution

$(101101)_2=2^5+2^3+2^2+2^0=32+8+4+1=45$. Puis $58=32+16+8+2$, donc $58=(111010)_2$. Avec $8$ bits, la valeur maximale est $2^8-1=255$, obtenue avec huit chiffres $1$. Le zéro est inclus : il y a $256$ valeurs distinctes.

Instructions, variables et fichiers

Définition 3 (Variable et affectation). Une variable possède un nom, un type et une valeur. L'affectation remplace sa valeur : après x := 3, puis x := x + 2, la variable contient $5$. L'affectation est une instruction, distincte d'une égalité mathématique. Un fichier regroupe des données que le programme peut lire ou écrire.

Exercice 4 (La taille d’une image). Une image non compressée comporte $800\times600$ pixels, chacun codé sur $24$ bits. Calculer sa taille en octets puis en Kio, sans en-tête ni métadonnées.

Indice

Chaque pixel utilise $24/8$ octets. Divise ensuite le total par $1024$.

Solution

Le nombre de pixels vaut $800\times600=480\,000$. Chaque pixel occupe $3$ octets, donc la taille vaut $1\,440\,000$ octets. En Kio : $1\,440\,000/1024=1406{,}25$ Kio. Ce résultat concerne les données brutes ; la taille d'un fichier réel dépend aussi de son format, de ses métadonnées et de la compression.

Vérifie ta compréhension. Quel composant conserve habituellement les fichiers lorsque l’ordinateur est éteint ?

  1. La mémoire vive
  2. Le stockage SSD ou disque dur
  3. Les registres du processeur
Réponse

Bonne réponse : B.

Le stockage conserve les fichiers. La mémoire vive et les registres servent au travail en cours et sont normalement volatils.

Remarque 5 (Repères du parcours L1). Les modules transversaux regroupent plusieurs UE ; les durées proposées sont des repères de travail personnel.

Exercices corrigés

Chaque exercice propose un indice et une solution détaillée : essaie d'abord, puis compare.

Tome I · Amateur

Découvrir les méthodes et appliquer les définitions et les résultats du cours.

Exercice 1 (De la base dix aux bases deux et seize). Écrire $200$ en binaire, puis en hexadécimal.

Indice

Décompose $200$ en puissances de $2$, puis regroupe les bits par paquets de quatre.

Solution

$200=128+64+8$, donc $200=(11001000)_2$. Par paquets de quatre bits : $1100=12=\mathrm C$ et $1000=8$, soit $200=(\mathrm{C8})_{16}$.

Exercice 2 (Des unités de mémoire). Combien d'octets et de bits contient un fichier de $3$ Mio ?

Indice

$1$ Mio $=1024$ Kio $=1024\times1024$ octets.

Solution

$3$ Mio $=3\times1024\times1024=3\,145\,728$ octets, soit $3\,145\,728\times8=25\,165\,824$ bits. En mégaoctets décimaux, cela fait environ $3{,}15$ Mo.

Exercice 3 (Une addition binaire). Poser l'addition $(1011)_2+(0110)_2$ et vérifier en base dix. Que se passe-t-il si le résultat doit tenir sur $4$ bits ?

Indice

En binaire, $1+1=10$ : on écrit $0$ et on retient $1$.

Solution

$(1011)_2+(0110)_2=(10001)_2$, soit $11+6=17$. Sur $4$ bits, seul $(0001)_2=1$ est conservé : c'est un dépassement de capacité, car $17>2^4-1=15$.

Tome II · Entraînement

Combiner plusieurs notions et rédiger une démarche complète.

Exercice 1 (Le complément à deux). Coder $-5$ sur $8$ bits en complément à deux. Quel intervalle d'entiers peut-on représenter ainsi ?

Indice

Écris $5$ en binaire sur $8$ bits, inverse tous les bits, puis ajoute $1$.

Solution

$5=(00000101)_2$, l'inversion donne $11111010$, et l'ajout de $1$ donne $(11111011)_2$. Vérification : $251=256-5$. Sur $8$ bits, on représente les entiers de $-128$ à $127$ ; le bit de gauche indique le signe.

Exercice 2 (Durée d’un téléchargement). Combien de temps faut-il pour transférer un fichier de $250$ Mo avec un débit de $20$ Mbit/s ? On prend $1$ Mo $=10^6$ octets et $1$ Mbit $=10^6$ bits.

Indice

Convertis d'abord le fichier en mégabits : un octet vaut $8$ bits.

Solution

$250$ Mo $=2\,000$ Mbit, donc la durée vaut $\dfrac{2\,000}{20}=100$ s, soit $1$ min $40$ s, sans compter les pertes du protocole. Les débits s'expriment en bits, les tailles de fichiers en octets.

Exercice 3 (Suivre des affectations). On exécute x := 5; y := 3; x := x + y; y := x - y; x := x - y. Donner les valeurs de $x$ et $y$ après chaque instruction. Que fait cette suite d'instructions ?

Indice

Une affectation remplace la valeur de la variable de gauche par la valeur calculée à droite.

Solution

On obtient successivement $(x,y)=(5,3)$, puis $(8,3)$, puis $(8,5)$, enfin $(3,5)$. Les deux valeurs ont été échangées sans variable auxiliaire. L'usage d'une variable temporaire reste plus lisible et évite les débordements de capacité.

Tome III · Perfectionnement

Approfondir le cours avec des problèmes de synthèse et des justifications complètes.

Exercice 1 (Des réels en binaire). Écrire $0{,}625$ en binaire. Montrer que $0{,}1$ n'a pas d'écriture binaire finie, et expliquer pourquoi un ordinateur affiche parfois $0{,}1+0{,}2\neq0{,}3$.

Indice

Multiplie la partie fractionnaire par $2$ à chaque étape et relève la partie entière.

Solution

$0{,}625=\dfrac12+\dfrac18=(0{,}101)_2$. Pour $0{,}1$ : $0{,}2\to0$, $0{,}4\to0$, $0{,}8\to0$, $1{,}6\to1$, $1{,}2\to1$, puis on retrouve $0{,}2$ : le motif $0011$ se répète indéfiniment. Avec un nombre fini de bits, $0{,}1$ et $0{,}2$ sont arrondis, et la somme des arrondis diffère légèrement de l'arrondi de $0{,}3$.

Exercice 2 (Combien de bits ?). Combien de bits faut-il au minimum pour coder $1\,000$ valeurs différentes ? Combien de caractères distincts permet un code sur $7$ bits ?

Indice

Avec $n$ bits, on code $2^n$ valeurs.

Solution

$2^9=512<1\,000\le1\,024=2^{10}$ : il faut $10$ bits. Sur $7$ bits, on code $2^7=128$ caractères, comme le code ASCII.

Exercice 3 (Adresses et capacité mémoire). Un processeur utilise des adresses de $16$ bits, chaque adresse désignant un octet. Quelle quantité de mémoire peut-il adresser ? Et avec des adresses de $32$ bits ?

Indice

Le nombre d'adresses distinctes vaut $2^{\text{nombre de bits}}$.

Solution

$2^{16}=65\,536$ adresses, soit $64$ Kio. Avec $32$ bits, $2^{32}$ octets $=4$ Gio : c'est la limite des anciens systèmes 32 bits, dépassée grâce aux adresses sur $64$ bits.

Continue avec ton tuteur

Dans Mathventure, tu rédiges tes réponses et le tuteur les corrige en t'expliquant tes erreurs. Les exercices suivants s'adaptent à ton niveau.