Convertisseur de bases numériques
Convertissez décimal, hex, binaire et octal en direct dans quatre cases liées, avec une base personnalisée et le two’s complement.
Ce convertisseur de bases numériques vous donne quatre cases liées, un seul nombre. Tapez dans le champ décimal, hex, binaire ou octal et les trois autres se mettent à jour en direct pendant que vous écrivez, sans bouton à presser. Le calcul repose sur le BigInt de JavaScript, donc un entier de 200 chiffres se convertit aussi exactement que 255, sans arrondi ni perte de précision silencieuse. Les préfixes 0x, 0b et 0o sont acceptés, et les espaces ou underscores à l'intérieur d'un nombre sont ignorés. Un champ de base personnalisée gère toute base de 2 à 36, et la vue two’s complement montre comment un CPU stockerait votre valeur en entier signé de 8, 16, 32 ou 64 bits, en signalant ce qui ne tient pas au lieu de l'enrouler en silence. Entiers uniquement, et rien de ce que vous tapez ne quitte la page.
100% dans votre navigateur. Rien de ce que vous tapez ne quitte cette page.
Utilitaire local de bases numériques
Quatre cases, un seul nombre. Tapez dans celle que vous voulez, décimal, hex, binaire ou octal, et les trois autres suivent en direct pendant que vous écrivez. Le calcul repose sur BigInt, donc un monstre de 200 chiffres se convertit aussi exactement que 255, pas d'arrondi, pas de perte de précision silencieuse. J'ai construit cet outil après une capture de paquets de trop où j'avais fait l'hex vers binaire de tête et atterri pile un nibble à côté.
Tout tourne dans votre navigateur, rien ne quitte la page. Les préfixes 0x, 0b et 0o sont acceptés, et les espaces ou underscores à l'intérieur d'un nombre (comme 1_000_000) sont ignorés. Entiers uniquement : c'est un convertisseur de bases, pas un terrain de jeu pour flottants.
Ce champ est lié lui aussi. Tapez ici et les quatre cases principales se mettent à jour, ou changez de base et regardez le même nombre se réécrire. La base 36 utilise les chiffres 0 à 9 puis A à Z.
Voici comment un CPU stockerait votre nombre en entier signé de la largeur choisie. Les valeurs négatives se voient ajouter 2^n (c'est toute l'astuce), et tout ce qui sort de la plage signée est signalé au lieu d'être enroulé en silence.
Comment les bases positionnelles fonctionnent vraiment
Un convertisseur de bases numériques ne prend tout son sens qu'une fois qu'on voit qu'une base est juste un accord sur la valeur de chaque colonne. En décimal, les colonnes valent 1, 10, 100 et ainsi de suite, chacune dix fois la précédente. Écrivez 2026 et vous dites en réalité deux milliers, zéro centaine, deux dizaines, six unités. C'est tout. C'est le système entier, et vous l'utilisez depuis l'école primaire sans que personne ne l'appelle notation positionnelle.
Toutes les autres bases jouent au même jeu avec un multiplicateur différent. Les colonnes binaires doublent en allant vers la gauche, les colonnes hex multiplient par seize. Donc 0xFF, c'est quinze seizaines plus quinze unités, ce qui tombe sur 255. Une fois que ça fait tilt, convertir entre bases cesse d'être de la magie et devient de la comptabilité. De la comptabilité fastidieuse. Ce qui est honnêtement toute la raison d'être de cette page.
Pourquoi l'hex se cale si proprement sur le binaire
Seize, c'est deux puissance quatre, et ce simple fait fait tout le travail. Chaque chiffre hex correspond exactement à quatre bits, un nibble, donc passer de l'hex au binaire ne demande aucun calcul. C'est une table de correspondance à seize lignes. F vaut toujours 1111. A vaut toujours 1010, peu importe sa position dans le nombre. Vous pouvez convertir un hash de 64 caractères à l'oeil, un chiffre à la fois, sans jamais poser de retenue.
L'octal a failli réussir le même tour avec des groupes de trois bits, et sur les vieilles machines 36 bits ça marchait vraiment. Puis l'octet s'est fixé à 8 bits, et 8 ne se découpe pas en paquets de trois. L'hex avale un octet en exactement deux chiffres. Voilà à peu près toute l'histoire de pourquoi votre débogueur affiche de l'hex et pas de l'octal.
Le two’s complement, expliqué honnêtement
La plupart des explications le font passer pour une astuce géniale. Ce n'en est pas une, c'est de l'arithmétique modulaire en imperméable. Sur 8 bits, il n'existe que 256 motifs possibles, alors la convention dit : les motifs 0 à 127 valent eux-mêmes, et les motifs 128 à 255 valent leur valeur moins 256. Donc 11111111 se lit 255 en non signé mais -1 en signé. Mêmes bits, lunettes de lecture différentes.
Le gain, c'est que l'additionneur du CPU n'a jamais besoin de connaître les signes. L'addition fonctionne à l'identique sur les valeurs signées et non signées, donc le matériel reste bête et rapide. Le prix, ce sont deux pièges célèbres. La plage est bancale (le 8 bits signé va de -128 à 127, il n'y a pas de +128), et le débordement boucle sans un bruit. La vue de cet outil signale les valeurs qui ne rentrent pas au lieu de les enrouler, parce que le wraparound silencieux, c'est comme ça que naissent les bugs à quelques milliards près.
Où chaque base apparaît au quotidien
- Octal : les permissions de fichiers Unix, en gros. Chaque chiffre de chmod 644 emballe les bits rwx d'un groupe, propriétaire en premier. Hors permissions et quelques séquences d'échappement, l'octal est presque éteint.
- Hexadécimal : partout où des octets sont montrés à des humains. Les couleurs CSS comme #1f2937, c'est deux chiffres hex par canal, les adresses MAC, les dumps mémoire, les hashes. Si un outil affiche des octets bruts, il les affiche en hex.
- Binaire : les masques de sous-réseau n'ont aucun sens tant qu'on ne les regarde pas en binaire. 255.255.255.0, c'est 24 uns suivis de 8 zéros, et c'est tout ce qu'un /24 veut dire.
- Décimal : tout ce qui s'adresse aux gens. Ports, TTL, codes de sortie. On compte sur nos doigts et ça se voit.
Questions fréquentes
Jusqu'à quelle taille de nombre ce convertisseur tient-il ?
Une taille absurde. Le calcul repose sur le BigInt de JavaScript, donc pas de plafond à 53 bits comme un Number classique. Collez un entier de 500 chiffres si ça vous chante. La conversion reste exacte jusqu'au dernier chiffre, et la seule vraie limite, c'est votre patience à faire défiler la sortie binaire.
Pourquoi mon entrée est-elle rejetée ?
Chaque base ne possède que certains chiffres. Le binaire a droit à 0 et 1, l'octal s'arrête à 7, l'hex ajoute A à F aux dix habituels. Tapez un 8 dans la case octale et l'erreur nomme le caractère exact qui a cassé. Les espaces et les underscores passent, par contre, je les retire avant l'analyse.
Que veulent dire les préfixes 0x, 0b et 0o ?
Ce sont des conventions d'écriture venues des langages de programmation. 0x annonce de l'hexadécimal, 0b du binaire, 0o de l'octal. Vous les croiserez en C, Python, JavaScript et la plupart des langages modernes. L'outil les accepte pour que vous puissiez coller directement depuis du code sans rien rogner.
Comment fonctionne la vue two’s complement ?
Choisissez une largeur (8, 16, 32 ou 64 bits) et elle montre comment un CPU stockerait votre nombre dans exactement ce nombre de bits. Pour les négatifs, elle ajoute 2^n à la valeur, ce qui est littéralement la définition du two’s complement. Si le nombre ne tient pas dans la largeur choisie, elle vous le dit au lieu de boucler en silence.
Pourquoi l'octal existe-t-il encore ?
Les permissions Unix, presque uniquement. chmod 755, c'est trois chiffres octaux, un par groupe de permissions, et chaque chiffre se déplie en bits rwx pour ce groupe. L'ajustement est parfait, trois bits par chiffre. Hors de cette niche, l'hex a gagné et l'octal survit surtout comme question de quiz.
Mon nombre est-il envoyé quelque part ?
Non. Aucun serveur ne fait le calcul, tout est du JavaScript qui tourne sur votre machine. Vous pouvez charger cette page, débrancher votre câble réseau et continuer à convertir tout l'après-midi. Rien n'est journalisé, rien ne quitte le navigateur.