Mode d'emploi
- Saisissez le nombre dans Nombre ou bits. Pour des bits, choisissez l'hexadécimal ou le binaire sous Écrit sous forme.
- Choisissez la Largeur : le nombre de bits que stocke l'ordinateur, 8, 16, 32 ou 64.
- Lisez Bits du complément à deux pour le motif stocké, et Formes comparées pour les deux autres systèmes.
- Si Vérification indique que le nombre ne tient pas, les bits affichés sont ceux que l'ordinateur stockerait à la place.
Comment un nombre négatif est stocké
Un ordinateur stocke un entier signé sur un nombre fixe de bits. En complément à deux, le bit de tête vaut −2^(n−1), et les autres bits s'additionnent comme d'habitude. Pour écrire −5 sur 8 bits, écrivez 5 sous la forme 00000101, inversez chaque bit, et ajoutez 1 : 11111010 + 1 = 11111011.
−5 → 00000101 → 11111010 → 11111011 (FB en hexadécimal)
Complément à un et grandeur signée
- Le complément à un inverse chaque bit de la grandeur : −5 vaut 11111010.
- La grandeur signée garde la grandeur et utilise le bit de tête comme signe : −5 vaut 10000101.
- Les deux ont deux zéros. Tous les bits posés en complément à un, et un bit de signe seul en grandeur signée, valent −0.
- Le complément à deux n'a qu'un zéro et une valeur négative de plus que de positives. C'est le système que la plupart des processeurs utilisent pour les entiers.
Plage et dépassement
Avec n bits, la plage du complément à deux va de −2^(n−1) à 2^(n−1) − 1 : de −128 à 127 sur 8 bits, et de −2 147 483 648 à 2 147 483 647 sur 32 bits. Une valeur hors de la plage se replie : 200 demande huit bits et se lit −56, car 11001000 vaut −56 en complément à deux.
Ce que l'outil ne couvre pas
- L'arithmétique : l'outil montre comment un nombre est stocké, non le résultat de l'addition ou de la multiplication de deux nombres.
- Les fractions décimales et les nombres à virgule flottante, qui ont leur propre format : voir le convertisseur IEEE 754.
- Les langages qui signalent une erreur en cas de dépassement au lieu de se replier. L'outil montre le résultat replié, et le signale.
Exemple détaillé : −5 sur 8 bits
Saisissez −5 avec Écrit sous forme réglé sur décimal et Largeur sur 8 bits. Le motif du complément à deux est 11111011, soit FB en hexadécimal et 251 en nombre non signé.
Le même −5 dans les deux autres systèmes : le complément à un donne 11111010 et la grandeur signée 10000101.
| Système | Bits | Hex | Valeur |
|---|---|---|---|
| Complément à deux | 1111 1011 | FB | -5 |
| Complément à un | 1111 1010 | FA | -5 |
| Grandeur signée | 1000 0101 | 85 | -5 |
| Non signé | 1111 1011 | FB | 251 |
Questions fréquentes
Pourquoi les ordinateurs utilisent-ils le complément à deux plutôt qu'un signe moins ?
Un signe moins demanderait sa propre règle dans chaque circuit d'addition. En complément à deux, l'addition et la soustraction fonctionnent de la même façon pour les nombres négatifs et positifs, et il n'y a qu'un seul zéro.
Pourquoi la plage négative a-t-elle une valeur de plus que la plage positive ?
Zéro occupe l'un des 2^n motifs : les valeurs positives vont de 1 à 2^(n−1) − 1, et les négatives descendent jusqu'à −2^(n−1). Sur 8 bits, la valeur en plus est −128, qui n'a pas de partenaire positif.
Que signifie le dépassement dans cette page ?
Le nombre demande plus de bits que la largeur n'en a. La page montre les bits que la largeur contiendrait, et la ligne Vérification indique que la valeur ne tient pas. Par exemple, 128 sur 8 bits contient 10000000, qui se lit −128.
Pourquoi le calculateur utilise-t-il des entiers exacts pour 64 bits ?
Un nombre JavaScript n'est exact que jusqu'à 2^53, et les valeurs de 64 bits vont jusqu'à 2^64. La page utilise BigInt, si bien que chaque bit est conservé et que la limite −9 223 372 036 854 775 808 est affichée exactement.
Java utilise-t-il le complément à deux pour ses entiers ?
Oui. La spécification du langage Java définit ses types entiers en complément à deux : un int est donc 32 bits de complément à deux, et un long en est 64.
Sources
Chiffres et texte vérifiés pour la dernière fois le mardi 10 novembre 2026.