Convertisseur de base numérique — binaire, hexadécimal, décimal, octal et bases 2 à 36

Convertissez des entiers de toute taille entre binaire, octal, décimal, hexadécimal, base 32, base 36 et toute base de 2 à 36, avec une vue en complément à deux.

Saisissez dans n’importe quel champ. Les préfixes 0x, 0b et 0o, un signe moins initial, ainsi que les espaces, virgules ou tirets bas entre les chiffres sont acceptés.

16 bits · 2 octets (valeur absolue) · 5 chiffres décimaux

Complément à deux (largeur fixe)

LargeurMotif binaireHexSignéNon signé
8 bits
dépassement, tronqué
1110 11110xEF-17239
16 bits1011 1110 1110 11110xBEEF-1665748879
32 bits0000 0000 0000 0000 1011 1110 1110 11110x0000BEEF4887948879
64 bits0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1011 1110 1110 11110x000000000000BEEF4887948879

Hors de la plage d’une largeur, le motif ne contient que les bits de poids faible, comme le fait un cast en int8_t/int16_t/int32_t/int64_t en C, Java ou Go.

Fonctionne entièrement dans votre navigateur. Rien de ce que vous saisissez n’est envoyé ni stocké. Parcourir tous les outils gratuits.

Un problème, ou quelque chose à améliorer ? Nous lisons chaque message et corrigeons vite.

Ce convertisseur de base numérique affiche un entier en binaire, octal, décimal, hexadécimal, base 32 et base 36 en même temps, plus toute base de 2 à 36 de votre choix. Chaque ligne est modifiable : saisissez une valeur hexadécimale dans le champ hexadécimal et le binaire, le décimal et les autres se mettent à jour. Les préfixes comme 0x et 0b, le signe moins et les espaces, virgules ou tirets bas entre les chiffres sont acceptés : vous pouvez coller directement depuis du code ou une fiche technique. Pour convertir de nombreuses valeurs à la fois, passez en mode liste, collez un nombre par ligne et obtenez un tableau dans toutes les bases, à copier ou à télécharger en CSV.

Les nombres sont traités comme des entiers en précision arbitraire : un identifiant 64 bits, une valeur de hachage de 256 bits ou un décimal de 300 chiffres se convertissent exactement, là où les outils fondés sur les nombres JavaScript ordinaires arrondissent discrètement tout ce qui dépasse 9 007 199 254 740 991. Le tableau en complément à deux montre comment la valeur est stockée dans des entiers signés et non signés de 8, 16, 32 et 64 bits, et signale les dépassements. Les fractions sont refusées avec une explication plutôt que converties approximativement : de nombreuses fractions décimales n’ont pas de forme binaire exacte.

Mode d’emploi

  1. Saisissez un nombre dans le champ de la base dans laquelle il est écrit, par exemple 0xBEEF dans Hexadécimal ou 1011 dans Binaire.
  2. Lisez les autres bases dans les autres champs ; copiez celle que vous voulez avec son bouton.
  3. Pour une base inhabituelle, choisissez-la dans le menu Base au choix et saisissez dans ce champ.
  4. Consultez le tableau en complément à deux pour voir la représentation binaire sur une largeur fixe, ou l’allure d’un nombre négatif en hexadécimal.
  5. Désactivez le regroupement des chiffres si vous avez besoin de la chaîne brute pour du code.

Questions fréquentes

Puis-je convertir une liste de nombres d’un coup ?

Oui. Choisissez « Liste de nombres (en masse) », collez jusqu’à 2 000 nombres, un par ligne, et choisissez la base d’entrée (ou laissez-la sur Auto, qui lit les préfixes 0x, 0b et 0o). Chaque ligne est convertie en décimal, binaire, octal, hexadécimal, base 32, base 36 et une base supplémentaire de votre choix ; une ligne illisible affiche sa propre erreur et les autres sont tout de même converties. Copiez le tableau ou téléchargez-le en CSV.

Comment convertir du binaire en décimal ?

Multipliez chaque chiffre binaire par 2 élevé à la puissance de sa position, en comptant à partir de 0 depuis la droite, et additionnez les résultats. Pour 1011 : 1×8 + 0×4 + 1×2 + 1×1 = 11. Ou saisissez-le dans le champ Binaire ci-dessus et lisez le champ Décimal.

Comment convertir de l’hexadécimal en décimal ?

Chaque chiffre hexadécimal vaut 16 fois le chiffre situé à sa droite, et A–F représentent 10–15. Pour 0x2F : 2×16 + 15 = 47. Chaque chiffre hexadécimal correspond aussi à exactement quatre chiffres binaires (F = 1111), c’est pourquoi l’hexadécimal sert à écrire le binaire de façon compacte.

Qu’est-ce que le complément à deux ?

C’est la façon dont les ordinateurs stockent les entiers négatifs. Dans un entier de n bits, un nombre négatif −x est stocké sous la forme 2^n − x. Ainsi, −1 sur 8 bits s’écrit 11111111 (0xFF), et −128 s’écrit 10000000. La même suite de bits se lit 255 en non signé ou −1 en signé ; le tableau montre les deux. L’avantage est que l’addition et la soustraction fonctionnent de la même façon pour les valeurs signées et non signées.

Pourquoi mon convertisseur donne-t-il de faux résultats pour les grands nombres ?

La plupart des convertisseurs utilisent les nombres JavaScript, des flottants 64 bits qui ne représentent exactement les entiers que jusqu’à 2^53 − 1 (9 007 199 254 740 991). Au-delà, les chiffres sont discrètement arrondis : un identifiant de base de données 64 bits ou un identifiant snowflake de Twitter/X est donc mal converti. Ce convertisseur utilise BigInt, qui n’a pas de limite de taille.

Puis-je convertir des fractions comme 0,1 en binaire ?

Pas ici, volontairement. 0,1 en décimal est une fraction périodique en binaire (0,000110011…) : toute réponse finie est donc une approximation, et c’est précisément cet arrondi qui fait que 0.1 + 0.2 ne donne pas 0.3 dans la plupart des langages de programmation. Cet outil convertit les entiers exactement ; pour travailler avec des fractions, ramenez-les d’abord à des entiers (par exemple, stockez des centimes plutôt que des dollars).

Où l’on rencontre chaque base

• Binaire (base 2) : indicateurs de bits, masques réseau, registres matériels, champs de bits de permissions.

• Octal (base 8) : permissions de fichiers Unix, où 755 signifie rwxr-xr-x parce que chaque chiffre octal correspond exactement à trois bits (propriétaire, groupe, autres).

• Hexadécimal (base 16) : adresses mémoire, codes couleur (#244B3F), vidages d’octets, hachages, adresses MAC et points de code Unicode (U+1F332).

• Base 32 (0–9, A–V) : identifiants compacts. Notez que le Base32 de la RFC 4648 utilisé par les secrets TOTP est un encodage d’octets avec l’alphabet A–Z, 2–7, et non cette base numérique.

• Base 36 (0–9, A–Z) : la représentation alphanumérique insensible à la casse la plus compacte, utilisée pour les identifiants courts et les raccourcisseurs d’URL ; Number.prototype.toString(36) de JavaScript la produit.

Entiers à largeur fixe et dépassement

Les langages de programmation stockent les entiers sur des largeurs fixes : int8/uint8 (un octet), int16, int32 et int64. Un entier signé de n bits couvre de −2^(n−1) à 2^(n−1) − 1 : un int8 va donc de −128 à 127 et un int32 de −2 147 483 648 à 2 147 483 647. La version non signée couvre de 0 à 2^n − 1.

Quand une valeur ne tient pas, la plupart des langages ne gardent que les n bits de poids faible. C’est pourquoi 200 stocké dans un int8 se relit −56, et pourquoi 2 147 483 647 + 1 dans un int 32 bits devient −2 147 483 648. Le tableau en complément à deux montre ce motif tronqué et marque la ligne comme en dépassement, ce qui permet de prévoir facilement ce que produira un cast en C, Java, Go ou Rust.

Outils gratuits similaires

  • Sélecteur et convertisseur de couleurs — Prélevez n’importe quelle couleur sur votre écran, ou convertissez instantanément entre HEX, RGB et HSL.
  • Générateur de hash — Hachez du texte ou des fichiers en MD5, SHA-1, SHA-256, SHA-384, SHA-512 et CRC32, vérifiez une somme de contrôle ou calculez un HMAC. Les fichiers ne quittent jamais votre appareil.
  • Convertisseur de timestamp Unix — Convertissez des secondes, millisecondes, microsecondes ou nanosecondes epoch en dates dans n’importe quel fuseau horaire, et inversement. Horloge en direct, mode lot, extraits de code.
  • Calculatrice en ligne — Une calculatrice épurée façon iPhone qui fonctionne avec votre clavier et votre pavé numérique. Pourcentage, signe, historique, copie : sans pub, rien à installer.