Aller au contenu

Chapitre 2. Entiers non-signés

Activités introductives (révision de seconde)

Se rendre sur la page des activités

Méthodes

Exercices

Exercice 1. Somme en binaire

Calculer en binaire la somme des entiers 111101|_2 et 11101|_2.

Correction

Les retenues sont présentées en rouge au dessus du calcul.

Exercice 2. Du binaire vers le décimal

Déterminer la représentation décimale des nombres suivants.

  1. 10011|_2
  2. 1110101|_2
Correction du 1.
\begin{align*} 10011|_2 &= 2^4 + 2^1 + 2^0 \\ &= 16 + 2 + 1 \\ &= 19 \end{align*}
Correction du 2.
\begin{align*} 1110101|_2 &= 2^6 + 2^5 + 2^4 + 2^2 + 2^0 \\ &= 64 + 32 + 16 + 4 + 1 \\ &= 117 \end{align*}
Exercice 3. Du décimal vers le binaire

Déterminer la représentation binaire des nombres suivants.

  1. 48
  2. 79
Correction du 1.
  • Méthode 1. Par soustractions successives

  • Méthode 2. Par divisions successives

    Donc 48 = 110000|_2.

Correction du 2.
  • Méthode 1. Par soustractions successives

  • Méthode 2. Par divisions successives

    Donc 79 = 1001111|_2.

Exercice 4. De l’hexadécimal vers le décimal

Déterminer la représentation décimale des nombres suivants.

  1. 2\text{e}|_{16}
  2. 1\text{c}3|_{16}
  3. \text{ff}|_{16}

Remarque. En informatique, il est d’usage de noter un nombre hexadécimal de la manière suivante en le préfixant de 0x. Par exemple, 2\text{e}|_{16} est noté 0x2e.

Correction du 1.
\begin{align*} 2\text{e}|_{16} &= 2 \times 16^1 + \text{e} \times 16^0 \\ &= 2 \times 16 + 14 \times 1 \\ &= 32 + 14 \\ &= 46 \end{align*}
Correction du 2.
\begin{align*} 1\text{c}3|_{16} &= 1 \times 16^2 + \text{c} \times 16^1 + 3 \times 16^0 \\ &= 1 \times 256 + 12 \times 16 + 3 \times 1 \\ &= 256 + 192 + 3 \\ &= 451 \end{align*}
Correction du 3.

Remarque. Le calcul était ici inutile. En effet, on sait que deux chiffres hexadécimaux correspondent à un octet soit 8 bits. Sur 8 bits, on peut coder 2^8 = 256 valeurs différentes. Ainsi, pour les nombres entiers non-signés, cela représente les nombres allant de 0 à 255. Ce résultat était attendu car \text{f} est le chiffre hexadécimal le plus élevé.

Exercice 5. Du décimal vers l’hexadécimal

Déterminer la représentation hexadécimale des nombres suivants.

  1. 193
  2. 154
  3. 171
  4. 255
Correction du 1.

Donc 193 = \text{c}1|_{16}.

Correction du 2.

Donc 154 = 9\text{a}|_{16}.

Correction du 3.

Donc 222 = \text{d}\text{e}|_{16}.

Correction du 4.

La réponse est ici immédiate : 255 = \text{ff}|_{16} (voir la correction de la question 3. de l’exercice 4.)

Exercice 6. Du binaire vers l’hexadécimal

Déterminer la représentation hexadécimal des nombres suivants.

  1. 1011100|_2
  2. 111011|_2
  3. 11110000|_2
Correction du 1.

On sépare le nombre en demi-octets (4 bits chacun) et on calcule leurs valeurs respectives en décimal puis en hexadécimal à l’aide du tableau suivant. Il est possible de réaliser ces étapes mentalement avec un peu de pratique. Attention, la séparation en demi-octet se fait en partant de la droite ! Ici, on a dû ajouter un zéro à gauche du nombre pour compléter le demi-octet de gauche.

Binaire 0 1 0 1 1 1 0 0
Valeur du bit 8 4 2 1 8 4 2 1
Décimal 4 + 1 = 5 8 + 4 = 12
Hexadécimal 5 c

Donc 1011100|_2 = 5\text{c}|_{16}

Correction du 2.

On sépare le nombre en demi-octets (4 bits chacun) et on calcule leurs valeurs respectives en décimal puis en hexadécimal à l’aide du tableau suivant. Il est possible de réaliser ces étapes mentalement avec un peu de pratique. Attention, la séparation en demi-octet se fait en partant de la droite ! Ici, on a dû ajouter deux zéros à gauche du nombre pour compléter le demi-octet de gauche.

Binaire 0 0 1 1 1 0 1 1
Valeur du bit 8 4 2 1 8 4 2 1
Décimal 2 + 1 = 3 8 + 2 + 1 = 11
Hexadécimal 3 b

Donc 111011|_2 = 3\text{b}|_{16}

Exercice 7. De l’hexadécimal vers le binaire

Déterminer la représentation binaire des nombres suivants.

  1. \text{a}5|_{16}
  2. \text{d}7|_{16}
  3. 2\text{f}|_{16}
  4. \text{fe}|_{16}
Correction du 1.

On décompose les chiffres hexadécimaux en puissance de 2 :

\begin{align*} \text{a} &= 10 & 5 &= 4 + 1\\ &= 8 + 2 & \\ \end{align*}

On utilise le tableau suivant (peut être fait mentalement avec un peu de pratique). Chaque chiffre hexadécimal correspond à 4 bits.

Hexadécimal a 5
Valeur du bit 8 4 2 1 8 4 2 1
Binaire 1 0 1 0 0 1 0 1

Donc \text{a}5|_{16} = 10100101|_2.

Correction du 2.

On décompose les chiffres hexadécimaux en puissance de 2 :

\begin{align*} \text{d} &= 13 & 7 &= 4 + 2 + 1\\ &= 8 + 4 + 1 & \\ \end{align*}

On utilise le tableau suivant (peut être fait mentalement avec un peu de pratique). Chaque chiffre hexadécimal correspond à 4 bits.

Hexadécimal d 7
Valeur du bit 8 4 2 1 8 4 2 1
Binaire 1 1 0 1 0 1 1 1

Donc \text{d}7|_{16} = 11010111|_2.

Correction du 3.

On décompose les chiffres hexadécimaux en puissance de 2 :

\begin{align*} & 2 \text{ (Rien à faire)} & \text{f} &= 15 \\ & & &= 8 + 4 + 2 + 1 \\ \end{align*}

Remarque. \text{f} étant le chiffre hexadécimal le plus élevé, il correspond au demi octet 1111. Le calcul précédent est donc inutile.

On utilise le tableau suivant (peut être fait mentalement avec un peu de pratique). Chaque chiffre hexadécimal correspond à 4 bits.

Hexadécimal 2 f
Valeur du bit 8 4 2 1 8 4 2 1
Binaire 0 0 1 0 1 1 1 1

Donc \text{d}7|_{16} = 11010111|_2.

Correction du 4.

Pour le nombre \text{fe}|_{16}, on peut se passer du tableau.

\begin{align*} \text{f}|_{16} &= 1111|_2 \text{ (cf. correction du 3.)} \\ \\ \text{e}|_{16} &= \text{f}|_{16} - 1 \\ &= 1111|_2 - 1 \\ &= 1110|_2 \end{align*}

Donc \text{fe}|_{16} = 11111110|_2