Conversion

La conversion de base (ou le transcodage) est l'opération qui permet de passer de la représentation d'un nombre exprimé dans une base à la

représentation du même nombre mais exprimé dans une autre base.

Forme polynomiale

On peut décomposer tout nombre N en fonction de puissances entières de la base de son système de numération. On notera en indice la base b b du système de numération dans lequel le nombre N envisagé est écrit (10 dans l'exemple ci-dessous).

Considérons par exemple, le nombre décimal 1234, On aura :

( 1234 ) 10 = 1 10 3 + 2 10 2 + 3 10 1 + 4 10 0 (1234)_{10}= 1*10^3 + 2*10^2 + 3*10^1 + 4*10^0 .

On peut généraliser cette notion et écrire sous forme polynomiale tout nombre N de base b b quelconque. On aura :

( N ) b = ( a n a n 1 ... a 1 a 0 ) b = i = 0 i = n a i b i . (N)_b=(a_n a_{n-1} ... a_1 a_0)_b = sum from{i=0} to{i=n} a_i b^i.

Conversion d'un nombre de base quelconque en un nombre de base décimale

Pour convertir un nombre ( N ) b = ( a n a n 1 ... a 1 a 0 ) b (N )_b = (a_n a_{n−1}...a_1 a_0 )_b d'une base b en un nombre décimal, il suffit d'utiliser la représentation polynomiale du nombre et de l'évaluer, c'est-à-dire, il suffit d'effectuer le calcul suivant :

( N ) b = a n b n + a n 1 b n 1 + ... + a 1 b 1 + a 0 b 0 (N)_b = a_n *b_n + a_{n − 1}* b_{n −1} +...+ a_1*b_1 + a_0 * b_0 .

Par exemple :

( 10101 ) 2 = 1 2 4 + 0 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = ( 21 ) 10 . ( 10101 )_2 = 1*2^4 + 0 * 2^3 + 1 *2^2 + 0 * 2 ^1 + 1 * 2 ^0 = (21 )_{10}.

Conversion d'un nombre de base décimale en un nombre de base quelconque

Pour convertir un nombre décimal en une base b nous effectuons des divisons entières successives du nombre à convertir par b, jusqu'à ce que le quotient obtenue soit égal à 0 ; et les restes sont les chiffres de la représentation en base b. Le reste de la première division est le chiffre de rang nul.

Exemples

  • Soit à convertir en binaire le nombre décimal 135

  • Soit à convertir en octal le nombre décimal 125

  • Soit à convertir en hexadécimal le nombre décimal 728

Conversion d'un nombre d'une base b1 vers une base b2

Pour convertir un nombre d'une base b1 vers une base b2, il suffit de passer par une base intermédiaire qui est la base décimale. Il existe une deuxième méthode qui permet de passer facilement entre les trois systèmes : binaire, octal et hexadécimal.

Pour convertir un nombre binaire en octal (resp. hexadécimal) on prend les chiffres 0 ou 1 par groupes de trois bits (resp. quatre bits) en partant de la droite vers la gauche, on peut toujours compléter le dernier groupe par des zéros ; puis on associe à chaque groupe son équivalent en octal (resp. hexadécimal). L'opération inverse est aussi vraie.

Les tableaux suivants indiquent cette conversion.

Correspondance entre le système octal et le système binaire
Correspondance entre le système hexadécimal et le système binaire

Exemples

  • Soit à convertir en octal le nombre binaire 101111100001

  • Soit à convertir en hexadécimal le nombre binaire 110100001100

  • Soit à convertir en binaire le nombre octal 4071

  • Soit à convertir en binaire le nombre hexadécimal 407

  • Soit à convertir en hexadécimal le nombre octal 72

  • Soit à convertir en octal le nombre hexadécimal 3E