Conversion entre les bases
Passage du binaire au décimal
Méthode :
On va écrire le nombre binaire à l’aide de puissance de 2.
On souhaite convertir (11001)2, en base 10. Chaque bit sera placé sous la puissance de 2 correspondante à son rang :
... | 24 | 23 | 22 | 21 | 20 | 2-1 | 2-2 | ... |
---|---|---|---|---|---|---|---|---|
1 | 1 | 0 | 0 | 1 |
(11001)2 = 1 x 24 + 1 x 23 +0 x 22 + 0 x 21 + 1 x 20 = 25
Exemple :
Convertir (11,1)2 en base 10 :
... | 24 | 23 | 22 | 21 | 20 | 2-1 | 2-2 | ... |
---|---|---|---|---|---|---|---|---|
1 | 1, | 1 |
(11,1)2 = 1 x 21 + 1 x 20 + 1 x 2-1 = 3,5
Passage du décimal au binaire
Méthode :
Cas des nombre entiers.
Par division successive par 2, le nombre binaire sera constitué de l’assemblage des restes des divisions et du dernier quotient. La lecture se fait du bas vers le haut.
Exemple :
On va convertir le nombre 13 en base 2 :
![](../res/systeme-numer-conver-base-tab1.png)
Le sens de lecture va du bas vers le haut : 13 = (1101)2.
Exemple :
Méthode :
Dans le cas des nombres décimaux, la partie entière se traite grâce à la méthode précédente. Pour la partie décimale, on effectue des multiplications successives par 2 de la partie décimale jusqu’à obtenir 1 et on garde uniquement les parties entières des résultats obtenus.
Exemple :
On va convertir le nombre 26,375.
Partie entière 26 :
![](../res/systeme-numer-conver-base-tab2.png)
![](../res/systeme-numer-conver-base-tab3.png)
Pour conclure : 26,375 = (11010,011)2.
Exemple :
Remarque :
Il n’est pas rare que la conversion d’un nombre décimal de base 10 à base 2 amène à trouver une infinité de 0 et de 1. On devra donc arrondir.
Si le dernier chiffre non conservé est 0 on effectue une troncature.
Si le dernier chiffre non conservé est 1 on ajoute 1 au dernier symbole non conservé.
Exemple :
![](../res/systeme-numer-conver-base-tab4.png)
Passage de l’hexadécimal au décimal
Méthode :
On rappelle que :
Base 16 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Base 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
On va écrire le nombre binaire à l’aide de puissance de 16.
Imaginons que l’on souhaite convertir (3A2,5B)16 :
... | 164 | 163 | 162 | 161 | 160 | 16-1 | 16-2 | ... |
3 | A (10) | 2, | 5 | B (11) |
(3A2,2B)16 = 3 x 162 + 10 x 161 + 2 x 160 + 5 x 16-1 + 11 x 16-2 = 930,35546875
Passage du décimal à l’hexadécimal
Méthode :
Comme pour le passage de décimal à binaire, on s’occupe de la partie entière puis de la partie décimale.
On effectue des divisions successives par 16 de la partie entière et on s’arrête quand le quotient est égal à 0 (que l’on ne garde pas). Le sens de lecture va du bas vers le haut.
Pour la partie décimale, on effectue des multiplications successives par 16 seulement sur les parties décimales jusqu’à obtenir un nombre entier.
Exemple :
Convertir 1 456,2265625 en hexadécimal.
Conversion de la partie entière :
![](../res/systeme-numer-conver-base-tab5.png)
On obtient 5 110 → (5B0)16 (ne pas oublier que 11 = (B)16)
1 456 = (5B0)16
Conversion de la partie décimale :
![](../res/systeme-numer-conver-base-tab6.png)
0,2265625 = (0,3A)16 (ne pas oublier que 10 = (A)16)
Conclusion : 1 456,2265625 = (5B0,3A)16
Passage d’hexadécimal à binaire
Rappel :
Rappels des conversions simples entre les 3 bases :
Base 10 | Base 2 | Base 16 |
---|---|---|
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
Méthode :
Chaque symbole (chiffre ou lettre) exprimé en base 16 sera exprimé en base 10 puis en base 2 en codant chaque chiffre sur 4 bits.
Exemple :
Exprimons (4A,5E)16 en base 2.
![](../res/systeme-numer-conver-base-tab7.png)
Passage de binaire à hexadécimal
Méthode :
Chaque groupe de 4 bits en base 2 sera exprimé en base 10 puis en base 16. On pourra compléter par des 0 si besoin.
Exemple :
![](../res/systeme-numer-conver-base-tab8.png)
Conclusion, (10010101,1111)2 = (95,F)16.
Exemple :
![](../res/systeme-numer-conver-base-tab9.png)
Conclusion, (1111011,101)2 = (3B,A)16.