Dans le domaine de l'informatique, plusieurs systèmes de numération sont utilisés pour représenter et manipuler les données. Les plus courants sont les systèmes décimal, binaire, hexadécimal et octal. Chacun de ces systèmes a une base différente, adaptée à des besoins spécifiques dans le contexte du traitement des données numériques. Dans cet article, nous allons explorer ces quatre systèmes de numération, en mettant en lumière leurs caractéristiques, leur utilité, et comment passer de l'un à l'autre.
Comme discuté précédemment, le système décimal est basé sur la base 10 et utilise les chiffres de 0 à 9. Ce système est le plus familier car il est utilisé dans la vie quotidienne pour la plupart des calculs. Cependant, en informatique, d'autres systèmes sont souvent plus efficaces pour certaines tâches.
Le nombre 245 en système décimal est simplement écrit comme :
245 = 2 x 102 + 4 x 101 + 5 x 100
Le système binaire est fondamental en informatique. Il est basé sur la base 2 et n'utilise que deux symboles : 0 et 1. Les ordinateurs fonctionnent principalement avec des signaux électriques, qui peuvent être facilement représentés par ces deux états (marche/arrêt, vrai/faux).
Prenons le nombre binaire 1011 :
10112 = 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20
Ce qui se traduit par :
10112 = 8 + 0 + 2 + 1 = 1110
Ainsi, le nombre binaire 1011 équivaut au nombre décimal 11.
Les systèmes binaires sont utilisés pour toutes les opérations de base dans les ordinateurs, car les circuits électroniques ne peuvent interpréter que deux états différents.
Toutes les données, y compris les images, le texte et les instructions de programme, sont finalement converties en binaire pour être traitées par un ordinateur.
Le système hexadécimal est basé sur la base 16. Il utilise 16 symboles : les chiffres 0 à 9 et les lettres A à F (où A représente 10, B représente 11, etc.). Ce système est couramment utilisé en informatique pour représenter les valeurs binaires de manière plus concise.
Le système hexadécimal utilise les symboles suivants : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Le système hexadécimal, souvent abrégé en "hexa", est largement utilisé en informatique en raison de sa capacité à représenter de grandes quantités de données de manière compacte et lisible et pour sa correspondance directe avec le binaire : comme chaque chiffre hexadécimal correspond exactement à une séquence de 4 bits, il est facile de convertir entre le binaire et l'hexadécimal.
Prenons le nombre hexadécimal 2F3 :
2F316 = 2 x 162 + F x 161 + 3 x 160
Comme F équivaut à 15 en décimal, cela donne :
2F316 = 2 x 256 + 15 x 16 + 3 = 512 + 240 + 3 = 75510
Le système hexadécimal est souvent utilisé pour représenter les adresses mémoire et les couleurs dans les applications graphiques. Il est plus compact que le binaire, ce qui le rend plus facile à lire pour les humains tout en restant proche de la représentation binaire.
Le système octal est basé sur la base 8 et utilise les chiffres de 0 à 7. Ce système était plus couramment utilisé dans les premiers jours de l'informatique, mais il est moins fréquent aujourd'hui. Cependant, il reste utile dans certains contextes, notamment dans la représentation compacte des nombres binaires.
Prenons le nombre octal 345 :
3458 = 3 x 82 + 4 x 81 + 5 x 80
Ce qui donne :
3458 = 192 + 32 + 5 = 22910
Le système octal est parfois utilisé dans les systèmes d'exploitation Unix pour représenter les permissions des fichiers, où chaque chiffre octal correspond à un ensemble de bits indiquant les permissions.
Si cela te paraît compliqué, garde en tête qu'il n'existe en fait que 3 fomules à retenir:
Pour convertir un nombre binaire en décimal, on multiplie chaque chiffre par la puissance de 2 correspondante et on additionne les résultats. Par exemple, pour le nombre binaire 1010 :
10102 = 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20 = 8 + 0 + 2 + 0 = 1010
Cela me paraît plus simple de commencer par la droite (20)
Pour convertir un nombre décimal en binaire, on divise le nombre par 2 et on note le reste. Il s'agit d'une division entière, comme celle que l'on a appris en primaire. Autrement dit, on divise par 2 et on ne garde que la partie entière (ex: 7 / 2 = 3.5 ---> 3)
On répète l'opération avec le quotient jusqu'à ce que le quotient soit 0. On note ensuite le résultat en partant du bas: on note le dernier quotient et tous les restes.
Par exemple, pour convertir 172 en binaire :
Le résultat en binaire est donc 101011100.

La conversion du décimal -> hexadécimal fonctionne sur le même principe: une succession de divisions entières et de restes... sauf que dans ce cas, on divise par 16.

Chaque chiffre hexadécimal peut être directement converti en une séquence de 4 bits. Par exemple, le nombre hexadécimal 3A se convertit en binaire :
Ainsi, 3A en hexadécimal devient 00111010 en binaire.
Tu peux utiliser la table de correspondance suivante :
| Binaire | Hexadécimal |
|---|---|
| 0000 | 0 |
| 0001 | 1 |
| 0010 | 2 |
| 0011 | 3 |
| 0100 | 4 |
| 0101 | 5 |
| 0110 | 6 |
| 0111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
| 1010 | A |
| 1011 | B |
| 1100 | C |
| 1101 | D |
| 1110 | E |
| 1111 | F |
💡 Il existe une astuce pour construire cette table rapidement et sans se tromper. Ecoute bien en classe!
La conversion d'un nombre binaire en hexadécimal est un processus simple et direct, car il existe une correspondance étroite entre ces deux systèmes de numération. Chaque chiffre hexadécimal représente exactement quatre bits (une séquence de quatre chiffres binaires). Pour convertir un nombre binaire en hexadécimal, suivez ces étapes :
Diviser le nombre binaire en groupes de 4 bits : Commencez par diviser le nombre binaire en groupes de 4 bits, en partant de la droite. Si le nombre de bits n'est pas un multiple de 4, ajoutez des zéros à gauche pour compléter le dernier groupe.
Par exemple, pour convertir le nombre binaire 1011101010 en hexadécimal, divisez-le en groupes de 4 bits :
10 1110 1010
En ajoutant des zéros pour compléter les groupes, cela devient :
0010 1110 1010
Convertir chaque groupe de 4 bits en hexadécimal : Chaque groupe de 4 bits est ensuite converti en son équivalent hexadécimal, en utilisant la table de correspondance du paragrpahe précédent.
Pour notre exemple :
Assembler les chiffres hexadécimaux : Assemblez les chiffres hexadécimaux obtenus pour former le nombre hexadécimal final. Dans notre exemple, 1011101010 en binaire se convertit en 2EA en hexadécimal.
Cette méthode est rapide et efficace, car elle tire parti de la correspondance directe entre les bits binaires et les chiffres hexadécimaux. C'est pourquoi la conversion binaire vers hexadécimal est couramment utilisée pour représenter les valeurs binaires sous une forme plus compacte et lisible en informatique.
Les systèmes de numération binaire, octal et hexadécimal sont essentiels en informatique, chacun ayant sa propre utilité et domaine d'application. Le système binaire est fondamental car il correspond directement à la manière dont les ordinateurs traitent l'information. Le système hexadécimal est utilisé pour sa compacité et sa proximité avec le binaire, tandis que le système octal est utilisé dans des contextes spécifiques comme la gestion des permissions dans les systèmes Unix. Comprendre ces systèmes de numération permet de mieux appréhender le fonctionnement interne des ordinateurs et d'améliorer ses compétences en programmation et en manipulation de données.
Pour vous aider à maîtriser les conversions entre les systèmes de numération binaire, décimal, et hexadécimal, voici cinq exercices progressifs pour chaque type de conversion. Ces exercices te permettront de pratiquer et de renforcer ta compréhension de ces systèmes fondamentaux.
1011 en décimal.1101 en décimal.100100 en décimal.1110 en décimal.101010 en décimal.13 en binaire.9 en binaire.31 en binaire.20 en binaire.45 en binaire.1A en décimal.2F en décimal.10 en décimal.B4 en décimal.7E en décimal.26 en hexadécimal.47 en hexadécimal.16 en hexadécimal.180 en hexadécimal.126 en hexadécimal.101110 en hexadécimal.1111 en hexadécimal.1C en binaire.3A en binaire.10011011 en hexadécimal.