Convertisseur de bases numériques

Saisissez un entier dans n’importe quelle base de 2 à 36 ou en Base62 et affichez-le à la fois en binaire, en octal, en décimal, en hexadécimal, en Base36 et en Base62. Les nombres de toute longueur sont convertis exactement.

Fonctionne entièrement dans votre navigateur. Aucune donnée n’est envoyée.

Mode d’emploi

  1. Saisissez le nombre à convertir dans le champ « Nombre ».
  2. Dans « Base d’entrée », sélectionnez la base dans laquelle il est écrit, de 2 à 36 ou Base62.
  3. Lisez le résultat simultanément en binaire, en octal, en décimal, en hexadécimal, en Base36 et en Base62.
  4. Pour toute autre base, sélectionnez-la dans « Base personnalisée ».

Des nombres, pas des octets

Cet outil convertit la valeur d’un nombre. Le nombre décimal 255 s’écrit 11111111 en binaire, 377 en octal, ff en hexadécimal et 73 en Base36.

Les encodages d’octets comme Base16 et Base2 font autre chose : ils encodent du texte ou des fichiers. Le texte 255 compte trois caractères, stockés sous la forme des octets 32 35 35 en hexadécimal, ou 00110010 00110101 00110101 en binaire. Utilisez cette page pour obtenir l’hexadécimal d’un nombre, et les encodeurs d’octets pour celui de caractères ou d’un fichier.

Fonctionnement des bases positionnelles

Dans toute base, chaque chiffre vaut la base élevée à la puissance de sa position, comptée à partir de zéro en partant de la droite. L’hexadécimal ff vaut 15 × 16 + 15 = 255, et le binaire 11111111 vaut 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255. Au-delà de la base 10, les chiffres se poursuivent avec des lettres : en Base36, a vaut 10 et z vaut 35. Base62 ajoute en plus l’autre casse : les majuscules et les minuscules y ont donc des valeurs différentes.

Un chiffre hexadécimal représente exactement 4 bits, et un chiffre octal 3 bits. C’est pourquoi les programmeurs utilisent l’hexadécimal et l’octal comme notation abrégée du binaire : 1111 1111 devient ff, groupe par groupe.

Grands nombres et nombres négatifs

Le convertisseur utilise des entiers en précision arbitraire (BigInt de JavaScript) : les nombres longs restent donc exacts. Beaucoup de calculatrices, ainsi que les nombres JavaScript ordinaires, perdent en précision au-delà de 9007199254740991 (2 puissance 53, moins 1). Par exemple, parseInt('ffffffffffffffff', 16) renvoie 18446744073709552000, alors que la valeur correcte, le plus grand entier non signé sur 64 bits, est 18446744073709551615.

Un nombre négatif est converti avec son signe moins : -255 s’écrit donc -ff en hexadécimal. Il ne s’agit pas de la représentation en complément à deux utilisée en mémoire pour les entiers de largeur fixe. Pour l’obtenir, ajoutez d’abord 2 puissance la largeur : sur 8 bits, -1 + 256 = 255, soit ff. Seuls les nombres entiers sont pris en charge, pas les fractions. Tout s’exécute dans votre navigateur.

Conversion de base dans le code

// JavaScript
parseInt('ff', 16);                          // 255
(255).toString(2);                           // '11111111'
BigInt('0xffffffffffffffff').toString(10);   // '18446744073709551615'

# Python
int('ff', 16)                  # 255
bin(255), oct(255), hex(255)   # ('0b11111111', '0o377', '0xff')

Questions fréquentes

Comment convertir du binaire en décimal ?

Saisissez le nombre binaire, sélectionnez la base 2 et lisez le résultat décimal. À la main, additionnez les valeurs de position de chaque chiffre 1 : 1010 en binaire donne 8 + 2 = 10.

Comment convertir du décimal en hexadécimal ?

Saisissez le nombre avec la base 10 sélectionnée et lisez le résultat hexadécimal. À la main, divisez successivement par 16 et écrivez les restes dans l’ordre inverse : 255 divisé par 16 donne 15, reste 15, soit ff.

La taille du nombre est-elle limitée ?

Il n’y a pas de limite fixe. L’outil utilise l’arithmétique BigInt : un nombre de plusieurs centaines de chiffres est converti exactement. Les très longs nombres demandent simplement un peu plus de temps.

Pourquoi l’hexadécimal de 255 diffère-t-il ici de celui de l’encodeur Base16 ?
Cette page convertit le nombre 255, qui s’écrit ff. L’encodeur Base16 convertit le texte 255, soit trois caractères dont les octets sont 32 35 35. Utilisez celui qui correspond à vos données.
Puis-je convertir des nombres à virgule ?

Non. Le convertisseur ne traite que les entiers. Les fractions comme 0,1 n’ont souvent pas de représentation exacte dans une autre base : elles sortent donc de son champ d’application.