Pack Camo

Convertisseur de base numérique

Binaire, octal, décimal et hexa, plus toute base de 2 à 36, avec de grands nombres.

Tout s'exécute localement — rien n'est téléversé.

Conversions

16 bits · 13 bits à 1 · 5 chiffres décimaux

  • Binaire (base 2)
    1011 1110 1110 1111
  • Octal (base 8)
    137 357
  • Décimal (base 10)
    48 879
  • Hexadécimal (base 16)
    BEEF
  • 1 1PR

Complément à deux

Le motif de bits à chaque largeur, lu comme entier signé et non signé. Cliquez sur une valeur hexa pour la copier.

LargeurMotif hexaSignéNon signé
8 bitsNe tient pas sur 8 bits.
16 bits-1665748879
32 bits4887948879
64 bits4887948879
128 bits4887948879

Bits

Cliquez sur un bit pour l'inverser.

158
70

Le bit 15 est le bit de signe quand la valeur est lue comme signée.

Binaire, octal, décimal et hexa — et toute base jusqu'à 36

Saisissez un nombre en binaire, octal, décimal, hexadécimal ou dans n'importe quelle base de 2 à 36 et voyez-le dans toutes les autres d'un coup. Les nombres peuvent être aussi grands que vous voulez — le convertisseur utilise des entiers en précision arbitraire, donc une valeur de 64 ou 128 bits garde chaque chiffre — et les nombres négatifs sont affichés en complément à deux sur 8, 16, 32, 64 et 128 bits, avec une vue des bits où vous pouvez cliquer pour inverser chaque bit. Les préfixes comme <code>0x</code> et les séparateurs comme <code>1_000_000</code> sont reconnus. Tout s'exécute dans votre navigateur.

Comment convertir entre bases numériques

  1. 1Choisissez la base dans laquelle vous saisissez : Bin, Oct, Déc, Hex, ou Autre pour toute base de 2 à 36.
  2. 2Saisissez ou collez le nombre. Le signe moins, les préfixes 0x, 0b et 0o, ainsi que les espaces, tirets bas ou virgules entre les chiffres sont acceptés.
  3. 3Lisez le résultat dans toutes les bases d'un coup, avec les chiffres groupés pour plus de lisibilité. Choisissez une autre base sur la dernière ligne ou activez Toutes les bases 2–36.
  4. 4Consultez le tableau du complément à deux pour la lecture signée et non signée à chaque largeur, cliquez sur les bits de la vue des bits pour les inverser et copiez la forme dont vous avez besoin.

Comment fonctionnent les systèmes positionnels

Dans toute base, chaque chiffre vaut la base élevée à la puissance de sa position, en comptant à partir de zéro sur la droite. En décimal, 255 vaut 2×10² + 5×10¹ + 5×10⁰. En binaire, le même nombre s'écrit 11111111 : huit uns, qui valent 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1. En hexadécimal, c'est FF : 15×16 + 15.

Les bases supérieures à 10 ont besoin de plus de dix symboles, donc les lettres prennent le relais : A vaut 10, B vaut 11 et ainsi de suite jusqu'à Z pour 35 — c'est pourquoi 36 est la plus grande base qui utilise les chiffres et lettres ordinaires. Les lettres sont lues sans tenir compte de la casse.

Pourquoi les développeurs utilisent binaire, octal et hexa

Binaire (base 2)
C'est ainsi que la machine stocke tout. Utile pour les drapeaux de bits, les masques et les sous-réseaux, mais long : une valeur de 32 bits a 32 chiffres.
Hexadécimal (base 16)
Chaque chiffre hexa vaut exactement quatre bits, donc un octet tient en deux chiffres hexa et une valeur de 32 bits en huit. Utilisé pour les adresses mémoire, les couleurs (#FF8800), les hashs, les UUID et les dumps d'octets.
Octal (base 8)
Chaque chiffre octal vaut trois bits. Il survit surtout dans les permissions de fichiers Unix, où 755 représente trois groupes de bits rwx — voir le <a href="/chmod-calculator">calculateur chmod</a>.
Base 36 et base 62
Les identifiants compacts insensibles à la casse, comme les URL courtes et les ID, utilisent la base 36 (0–9 et a–z). La base 62 ajoute les majuscules et sort du champ de cet outil.

Complément à deux et nombres négatifs

Les ordinateurs stockent les entiers signés en complément à deux : sur une largeur fixe de n bits, un nombre négatif −x est stocké comme 2ⁿ − x. Sur 8 bits, −1 vaut 11111111 (0xFF), −128 vaut 10000000 (0x80), et le bit de poids fort sert aussi de signe. Un entier signé sur 8 bits va de −128 à 127 ; les mêmes 8 bits lus en non signé vont de 0 à 255.

Le tableau du complément à deux montre les deux lectures pour chaque largeur courante. Saisissez 0xFFFFFFFF et vous verrez qu'il vaut 4 294 967 295 en entier non signé sur 32 bits et −1 en signé ; saisissez -42 et vous obtenez son motif de bits à chaque largeur. Quand une valeur est trop grande pour une largeur, la ligne l'indique au lieu de la tronquer en silence.

Grands nombres et précision

Les nombres ordinaires de JavaScript perdent en précision au-delà de 2⁵³ (9 007 199 254 740 992), c'est pourquoi beaucoup de convertisseurs en ligne se trompent sur les ID et hashs de 64 bits. Ce convertisseur utilise BigInt partout, il est donc exact pour des nombres de toute taille — une valeur de 128 bits, un hash SHA-256 lu comme un entier ou un nombre de 20 000 chiffres.

Seuls les nombres entiers sont convertis. Les fractions dans d'autres bases tombent rarement juste (0,1 en décimal est une fraction périodique infinie en binaire) ; pour les motifs de bits à virgule flottante et les horodatages, voir le convertisseur de timestamp Unix.

Questions fréquentes

Comment convertir du binaire en décimal ?
Choisissez Bin, saisissez le nombre binaire et lisez la ligne décimale. À la main, additionnez les puissances de deux de chaque 1 : 1011 vaut 8 + 0 + 2 + 1 = 11.
Comment convertir du décimal en hexadécimal ?
Choisissez Déc, saisissez le nombre et lisez la ligne hexadécimale. À la main, divisez par 16 de façon répétée et écrivez les restes du dernier au premier : 255 ÷ 16 = 15 reste 15, donc 255 vaut FF.
Que signifie le préfixe 0x ?
0x signale un nombre hexadécimal en C, JavaScript, Python et la plupart des autres langages, tout comme 0b signale le binaire et 0o l'octal. Le convertisseur accepte ces préfixes en entrée et peut les ajouter en sortie.
Comment les nombres négatifs sont-ils convertis ?
Dans chaque base, le résultat garde le signe moins, comme -2A en hexa. Le tableau du complément à deux et la vue des bits montrent comment le même nombre est stocké dans un entier signé de 8, 16, 32, 64 ou 128 bits.
Pourquoi 0xFF s'affiche-t-il à la fois comme 255 et -1 ?
Les mêmes huit bits valent 255 lus comme un octet non signé et -1 lus comme un octet signé en complément à deux. La bonne lecture dépend du type qui le stocke.
Y a-t-il une limite de taille pour le nombre ?
Pas en pratique : les nombres jusqu'à 20 000 chiffres sont convertis exactement, car le convertisseur utilise des entiers en précision arbitraire plutôt que la virgule flottante.
Puis-je convertir des fractions ou des décimaux ?
Non, seulement des nombres entiers. La plupart des fractions n'ont pas de représentation exacte dans d'autres bases, donc le convertisseur demande un entier au lieu de donner une réponse arrondie.
Ma saisie est-elle envoyée quelque part ?
Non. Toute la conversion a lieu dans votre navigateur.