Convertisseur de base entière

Convertissez des entiers entre n'importe quelle base de 2 à 64. Binaire, octal, décimal, hexadécimal, base36, base58 et base64 d'un coup, avec une prise en charge BigInt en précision arbitraire.

Convertissez un nombre entier entre deux bases quelconques de 2 à 64. Saisissez une valeur, choisissez la base dans laquelle elle est écrite, et chaque représentation courante se met à jour instantanément. La conversion utilise le BigInt de JavaScript, donc les nombres bien au-delà de 2^53 conservent toute leur précision.

Comprendre les bases positionnelles

Ce qu'est réellement une base

Dans un système positionnel, la base (ou la radix) indique la valeur de chaque position. En base 10, les chiffres de 237 signifient 2x100 + 3x10 + 7x1. En base 16, la même chaîne de chiffres signifie 2x256 + 3x16 + 7 = 567. Rien ne change dans le nombre quand vous le convertissez, seulement la notation.

L'alphabet des chiffres

Un système en base N a besoin de N symboles distincts. Les chiffres 0-9 couvrent les dix premiers, puis les lettres prennent le relais : a vaut 10, b vaut 11, et ainsi de suite jusqu'à z à 35. Au-delà de la base 36, l'alphabet continue avec des lettres majuscules puis enfin + et /, qui est l'ordre utilisé par cet outil. Les bases jusqu'à 36 sont traitées sans distinction de casse car c'est la convention quasi universelle ; au-delà de 36, la casse devient significative.

Où apparaît chaque base

  • Base 2 correspond directement au matériel. Le contenu des registres, les masques de bits et les drapeaux de permission se raisonnent plus facilement en binaire.
  • Base 8 regroupe les bits par trois, ce qui explique précisément pourquoi les modes de fichier Unix comme 755 sont en octal.
  • Base 16 regroupe les bits par quatre, donc un chiffre hex vaut un nibble. Les adresses mémoire, les codes couleur et les hachages l'utilisent tous.
  • Base 36 est la base la plus dense qui survive aux systèmes insensibles à la casse comme les labels DNS.
  • Base 58 est la base 62 moins les caractères faciles à confondre : 0, O, I et l. Les adresses Bitcoin et de nombreux services de liens courts l'utilisent.
  • Base 64 encode trois octets en quatre caractères imprimables et est la façon standard de transporter des données binaires via des canaux texte uniquement.

Précision

Les nombres natifs de JavaScript perdent en précision au-delà de 2^53. Ce convertisseur fonctionne entièrement avec BigInt, donc une valeur décimale de 200 chiffres se convertit en binaire sans arrondi silencieux. Les valeurs négatives sont prises en charge ; un signe moins initial est conservé d'une base à l'autre.

Avis open-source : la conversion est implémentée avec l'API BigInt native de JavaScript. Aucune bibliothèque numérique tierce n'est utilisée.

FAQ

Pourquoi la base 58 saute-t-elle certains caractères ?
La base 58 retire délibérément 0, O, I et l car ils sont facilement confondus à l'écrit ou à la main. Cela rend les adresses plus sûres à transcrire, raison pour laquelle Bitcoin l'a adoptée.
La base64 ici est-elle la même que celle des pièces jointes e-mail ?
Non. Cet outil traite la base 64 comme un système de numération positionnel pour un seul entier. L'encodage des pièces jointes (RFC 4648) opère sur des flux d'octets et ajoute un remplissage avec « = ». Utilisez l'outil Base64 pour cela.
Puis-je convertir de très grands nombres ?
Oui. Tout passe par BigInt, donc des centaines de chiffres se convertissent exactement. Il n'y a pas d'arrondi silencieux à 2^53 comme avec les nombres JavaScript ordinaires.
L'entrée est-elle sensible à la casse ?
Pour les bases jusqu'à 36 non : « FF » et « ff » valent tous deux 255 en hex. À partir de la base 37, majuscules et minuscules sont des symboles distincts, donc la casse compte.
Comment convertir un nombre négatif ?
Ajoutez simplement un signe moins devant. Le signe est reporté sur chaque base de sortie. La représentation en complément à deux est un concept distinct et n'est pas appliquée ici.
Quelque chose est-il envoyé vers un serveur ?
Non. La conversion s'exécute entièrement dans votre navigateur, donc les valeurs que vous saisissez ne quittent jamais votre machine.