Ceci est une calculatrice de complément à deux. Encodez un entier signé, ou lisez hex/binaire comme signé. −1 sur 8 bits vaut 0xFF. −52 vaut 0xCC. Le même octet 0xFF vaut 255 non signé.
Cliquez un bit pour l’inverser. Celui de gauche (anneau doré) est le bit de signe.
Cliquez une valeur pour la copier
Compléter, inverser, ajouter 1
Addition / soustraction en complément à deux (A et B en décimal signé)
Exemples — cliquez un échantillon
Le même motif 4 bits en non signé, signe-magnitude, complément à un et complément à deux — cliquez une ligne pour le charger
| Binary | Non signé | Signe-magnitude | Complément à un | Two's |
|---|---|---|---|---|
| 0000 | 0 | 0 | 0 | 0 |
| 0101 | 5 | 5 | 5 | 5 |
| 0111 | 7 | 7 | 7 | 7 |
| 1000 | 8 | −0 | −7 | −8 |
| 1010 | 10 | −2 | −5 | −6 |
| 1111 | 15 | −7 | −0 | −1 |
Encode un entier signé en complément à deux, ou lit un motif hex/binaire comme signé. Largeurs : Auto, 4, 8, 12, 16, 32 et 64. −1 sur 8 bits vaut 0xFF ; −52 vaut 0xCC ; 20 vaut 0x14. Lecture non signée des mêmes bits : 0xFF vaut 255. HEX, Binary, Decimal restent inchangés. Ce n’est pas la calculatrice bit à bit HEX ni la calculatrice HEX non signée.
Le motif est TC = (2^N + X) mod 2^N. La plage signée 8 bits est −128…127 ; 4 bits −8…7. Hex/binaire plus court que la largeur est complété de zéros, pas d’extension de signe. Nier 0x80 sur 8 bits reste 0x80 : +128 n’existe pas. Voir IEEE 754, convertisseur d’endian.
La plage est asymétrique. Inverser 1000 0000 et ajouter 1 redonne 1000 0000. Le +128 mathématique ne tient pas.
Selon la lecture. Cette page montre la valeur signée en complément à deux et la lecture non signée des mêmes bits.
Chaque bit du motif actuel inversé, sans +1. Le complément à deux d’un négatif inverse la magnitude puis ajoute 1.