Binaire signé · 8/16/32/64 bits
Convertisseur de complément à deux
Mis à jour : 21 juin 2026
Magasin d'ordinateurs entiers utilisant le complément à deux, un schéma intelligent qui permet au même circuit d'addition de gérer les nombres positifs et négatifs sans règle de signe distincte. Le comprendre est la clé pour lire correctement toute valeur binaire ou hexadécimale signée.
Choisissez une largeur de bits, tapez un nombre négatif · Gratuit · Pas de téléchargement
La règle d'inversion et d'ajout d'un
Pour représenter un nombre négatif dans une largeur de bits fixe : écrivez la valeur absolue en binaire, complétez-la sur toute la largeur, retournez chaque bit (celui de celui-ci) complément), puis ajoutez-en un. Voici −5 sur 8 bits :
5 = 0000 0101
invert = 1111 1010
add 1 = 1111 1011 → -5 (0xFB)
Le bit le plus à gauche est maintenant 1, marquant la valeur comme négative. L'ajout de 5 et −5 sous cette forme donne 1 0000 0000 — le report du haut tombe hors de la largeur fixe, laissant 0, exactement comme le devrait l'arithmétique.
Relecture d'une valeur de complément à deux
Si le bit le plus significatif est 0, le nombre est positif — lisez-le normalement. S'il est 1, le nombre est négatif : inversez tous les bits et ajoutez-en un pour obtenir la grandeur, puis attachez un signe moins. Pour 1111 1011 : inversez en 0000 0100, ajoutez-en un pour obtenir 0000 0101 = 5, donc la valeur est −5. Le convertisseur le fait automatiquement lorsque vous choisissez une largeur de bits.
Plages par largeur
| Largeur | Plage signée | −1 en hexadécimal |
|---|---|---|
| 8 bits | −128 … 127 | FF |
| 16 bits | −32,768 … 32,767 | FFFF |
| 32 bits | −2,147,483,648 … 2,147,483,647 | FFFFFFFF |
| 64 bits | ±9.22 × 10¹⁸ | FFFFFFFFFFFFFFFF |
La plage est asymétrique : il y a une valeur négative de plus que positive car zéro prend un emplacement du côté positif. Cette valeur supplémentaire est le nombre le plus négatif (par exemple -128 en 8 bits), dont la négation déborde sur elle-même - une source classique de bugs.
Pourquoi le complément à deux a gagné
- Une représentation de zéro (contrairement au signe-magnitude, qui a +0 et -0).
- L'addition et la soustraction utilisent le même matériel sans casse spéciale pour les signes.
- La détection de débordement est une simple vérification des bits de retenue/de signature.
- L'extension de signe à un type plus large copie simplement le bit supérieur.
À l'aide de l'outil
Sélectionnez une largeur de bits (8, 16, 32 ou 64), puis tapez une décimale négative. Les lignes binaires et hexadécimales affichent immédiatement le modèle de complément à deux, et la vue des bits vous permet de cliquer sur des bits individuels pour voir comment la valeur change. Changez la largeur à la volée pour comparer l'apparence du même nombre dans différentes tailles - pratique lors du portage de code entre int8_t, int16_t et int32_t.
Questions fréquentes
Comment trouver le complément à deux ?
Écrivez la magnitude en binaire à la largeur choisie, inversez chaque bit, puis ajoutez-en un.
Qu'est-ce que -1 dans le complément à deux ?
Tous les uns sur chaque largeur — 11111111 en 8 bits, qui est FF en hexadécimal.
Quelle est la plage signée sur 8 bits ?
−128 à +127. Le bit haut est le signe, et il y a une valeur négative supplémentaire.
Pourquoi en ajouter une après l'inversion ?
L'inversion seule donne son complément, qui a deux zéros. L'ajout d'un décale le schéma afin qu'il y ait un seul zéro et une arithmétique propre.