Transcodage : changement de base
Transcodage : depuis toutes les bases vers le décimal
Méthode
Passer de l'écriture en base \(b\) d'un nombre à son écriture décimale est aisé, il suffit de faire la somme de la multiplication de chaque chiffre d'indice \(k\) par son poids correspondant \(b^k\) (\(b\) étant la$ base d'origine).
Hexadécimal vers Décimal
Au préalable, on prendra soin de transcoder les lettres A à F en décimal (de 10 à 15) :
- A vaut 10
- B vaut 11
- C vaut 12
- D vaut 13
- E vaut 14
- F vaut 15.
Transcodage : depuis le décimal vers les autres bases
Méthode
Pour convertir un nombre \((N)_{10}\) écrit en base \(10\) dans la base \(b\), il faut effectuer des divisions euclidiennes successives, d'abord de \(N\) par \(b\), puis des quotients obtenus par \(b\) jusqu'à ce que le quotient soit \(0\). Les restes successifs sont ensuite écrits du dernier au premier de gauche à droite.
Rappel : Division euclidienne
\(a\) et \(b\) sont deux entiers naturels, avec \(b\) non nul. On appelle division euclidienne de \(a\) par \(b\) la division donnant un quotient \(q\) et un reste \(r\) entiers tels que \(0 \le r < b\).
Cette division entière conduit à l'égalité : \(a = b \times q + r\)
Ainsi, on aura un reste égal à 0 ou 1 si on transcode en binaire, ou un reste compris entre 0 et 15 si on transcode en hexadécimal.
En Python, on obtient :
- le quotient de a par b avec l'instruction :
q = a // b - le reste de a par b avec l'instruction :
r = a % b
