Codage de l'information

Bases de numération

  • Considérons une base $s$ (avec $s$ entier $>1$). Alors l’écriture générale d’un nombre de $(n+1)$ chiffres est, dans cette base :

$$\begin{aligned} \red{a_n} \blue{a_{n-1}}… \purple{a_1} \green{a_0} &= \red{a_n} \times s^n + \blue{a_{n-1}} \times s^{n-1} + … + \purple{a_1} \times s^1+ \green{a_0} \times s^0 \\ &= \displaystyle\sum_{i=0}^n a_i\times s^i \end{aligned}$$

  • Avec, pour tout $i$ de $0$ à $n$, $a_i$ un chiffre de la base $s$.
  • Il est important de préciser dans quelle base ces nombres sont exprimés.
  • Nous choisissons ici de mettre la base en indice, après le nombre concerné : $N_s$.
  • On considère qu’un nombre donné sans précision supplémentaire (sans indice) est exprimé en base $10$.

Base binaire et base hexadécimale

  • Base binaire et bit
  • Un nombre binaire s’écrit avec $2$ chiffres, $0$ et $1$.
  • En base binaire, nous ne pouvons aller au-delà de $1$ :

$$\textcolor{#A9A9A9} {00} 0_{\tiny 2}\ ^{\underrightarrow{\ {+1}\ }}\ \textcolor{#A9A9A9} 0 \textcolor{#A9A9A9} 0 \red 1_{\tiny 2} \ ^{\underrightarrow{\ {+1}\ }}\ \textcolor{#A9A9A9} 0 \red1 \green0_{\tiny 2} \ ^{\underrightarrow{\ {+1}\ }}\ \textcolor{#A9A9A9} 0 1 \red1_{\tiny 2}\ ^{\underrightarrow{\ {+1}\ }}\ \red1 \green0 \green0_{\tiny 2} \ ^{\underrightarrow{\ {+1}\ }}\ 10\red1_{\tiny 2}\ …$$

  • On identifie les premier et dernier bits par des noms :
  • celui le plus à droite est le bit de poids faible, noté $\text{LSB}$ ;
  • celui le plus à gauche est le bit de poids fort, noté $\text{MSB}$ ;
  • Nombre hexadécimal
  • Un nombre hexadécimal s’écrit avec $16$ chiffres, de $0$ et $9$, puis de $\text{A}$ à $\text{F}$.
  • Ici aussi, pour passer d’un nombre au suivant, on ajoute $1$ :

$$00\ ^{\underrightarrow{\ {+1}\ }}\ 01\ …\ 09\ ^{\underrightarrow{\ {+1}\ }}\ 0 \text{A}\ ^{\underrightarrow{\ {+1}\ }}\ 0 \text{B}\ …\ 0 \text{F}\ ^{\underrightarrow{\ {+1}\ }}\ 10\ ^{\underrightarrow{\ {+1}\ }}\ 11\ …\ 1 \text{F}\ ^{\underrightarrow{\ {+1}\ }}\ 20\ …$$

Conversion entre bases

  • Conversion binaire $\rightarrow$ décimal
  • Écrire le nombre binaire sous la forme d’une somme de puissances de $2$, puis de faire l’opération.
  • Conversion décimal $\rightarrow$ binaire
  • Réaliser une succession de divisions euclidiennes par $2$, jusqu’à obtenir un quotient égal à $0$. Le nombre binaire sera la succession des restes, en partant de celui de la dernière division, jusqu’à celui de la première. Autrement dit :
  • le bit de poids faible sera le reste de la première division euclidienne ;
  • le bit de poids fort sera le reste de la dernière division euclidienne.
  • Conversion hexadécimal $\rightarrow$ binaire
  • Donner la correspondance en binaire, sur un quartet, de chaque chiffre.
  • Conversion binaire $\rightarrow$ hexadécimal
  • Dans un premier temps, grouper le nombre binaire par quartets, en partant du bit de poids faible.
  • Ensuite, donner la correspondance de chaque quartet en hexadécimal.
  • Conversion hexadécimal $\rightarrow$ décimal
  • Écrire le nombre hexadécimal sous la forme d’une somme de puissances de $16$, puis de faire l’opération.
  • Il conviendra bien sûr, pour les lettres, de les convertir dans le nombre décimal correspondant.
  • Conversion décimal $\rightarrow$ hexadécimal
  • Réaliser une succession de divisions euclidiennes par $16$, jusqu’à obtenir un quotient égal à $0$. Le nombre hexadécimal sera la succession des restes, en partant de celui de la dernière division, jusqu’à celui de la première.
  • Si le reste est supérieur ou égal à $10$, le convertir dans la lettre correspondante.