Qu’est-ce qu’une base de numération ?

Une base de numération, ou radix, est le nombre de chiffres utilisés par un système de numération. Le système décimal, utilisé au quotidien, comporte dix chiffres, de 0 à 9, et chaque position vaut dix fois celle qui se trouve à sa droite. Les ordinateurs fonctionnent en binaire, qui ne comporte que 0 et 1 : chaque position vaut donc deux fois celle qui se trouve à sa droite. Le système octal, avec les chiffres de 0 à 7, et le système hexadécimal, avec les chiffres de 0 à 9 et les lettres de A à F pour représenter 10 à 15, sont des façons plus compactes d’écrire le binaire : un chiffre octal représente exactement 3 bits et un chiffre hexadécimal exactement 4 bits, si bien qu’un octet correspond toujours à deux chiffres hexadécimaux.

Voici le même nombre dans chaque base :

Décimal Binaire Octal Hexadécimal
10 1010 12 A
42 101010 52 2A
255 11111111 377 FF
1000 1111101000 1750 3E8
65535 1111111111111111 177777 FFFF
-42 -101010 -52 -2A

Où chaque base est utilisée

  • Binaire : bits, indicateurs, masques de bits et masques de sous-réseau, comme 255.255.255.0, qui correspond à 24 uns suivis de 8 zéros.
  • Octal : permissions de fichiers Unix, comme chmod 755, où chaque chiffre correspond à trois bits de permission.
  • Décimal : nombres du quotidien.
  • Hexadécimal : couleurs comme #FF6600, valeurs d’octets, adresses mémoire, adresses MAC et points de code Unicode comme U+00E9.

Description de l’outil

Cet outil convertit des nombres entiers entre les bases binaire, octale, décimale et hexadécimale. Tous les convertisseurs de base de numération proposés ici fonctionnent de la même manière, qu’il s’agisse du convertisseur général de base de numération ou de ceux dédiés à une seule paire, comme le convertisseur décimal vers binaire ou hexadécimal vers décimal : les bases indiquées dans leur nom sont sélectionnées par défaut, et les menus Source et Cible permettent de choisir l’une des quatre bases. Saisissez ou collez un nombre : le résultat s’affiche au fur et à mesure de la saisie et peut être copié. Un chiffre qui n’existe pas dans la base, comme le chiffre 2 dans un nombre binaire, déclenche une erreur. Le bouton d’inversion inverse le sens de la conversion.

Fonctionnement

L’outil lit le nombre comme un BigInt JavaScript, un entier de taille illimitée, ce qui permet de convertir exactement des valeurs sur 64 bits ou plus, sans arrondi : FFFFFFFFFFFFFFFF en hexadécimal correspond à 18446744073709551615 en décimal. Il accepte :

  • Un signe moins placé devant le nombre, que le résultat conserve : -42 en décimal correspond à -101010 en binaire.
  • Les préfixes utilisés en programmation : 0b pour le binaire, 0o pour l’octal et 0x pour l’hexadécimal ; ainsi, 0x1F est converti en 31.
  • Des espaces et des traits de soulignement entre les groupes de chiffres, comme 1111 0000 ou 1_000_000.
  • Les lettres hexadécimales en majuscules ou en minuscules. Les résultats sont écrits en majuscules.

Seuls les nombres entiers peuvent être convertis ; un nombre comportant un point décimal déclenche donc une erreur.