Nombres, opérations binaires et unités

calculateur de complément à deuxUn mot, deux lectures

Précisez si vous encodez une valeur entière ou si vous lisez un motif de bits existant.

calculateur de complément à deux

Entrée

Un entier, au plus 256 caractères. Les préfixes 0b/0o/0x doivent correspondre à la base. Aucun espace interne, séparateur, saut de ligne ou nombre fractionnaire.

Les données sont traitées dans ce navigateur et ne sont pas envoyées à un serveur.

Résultats

Résultat décimal
-42
Saisie en décimal
-42
Décimal signé
-42
Décimal non signé
214
Binaire
11010110
Hexadécimal
0xD6
Bit de poids fort
1
Plage autorisée en entrée
-128 … 127
Plage signée
-128 … 127
Plage non signée
0 … 255
Octets en grand-boutiste
D6
Octets en petit-boutiste
D6

Encoder la valeur négative

1. Valeur absolue en binaire
00101010
2. Inverser tous les bits
11010101
3. Ajouter un
11010110

Options

Valeur encode un entier mathématique. Motif de bits lit un motif non négatif, complété à gauche par des zéros, et refuse le signe moins.

Changer une option réinterprète le texte présent. Les deux ordres utilisent le mot final et conservent les bits à l’intérieur de chaque octet.

La saisie respecte la plage choisie.

Le calculateur de complément à deux sert à rapprocher un relevé mémoire et une valeur affichée par un débogueur. Un octet FF et le nombre −1 peuvent désigner les mêmes bits. Il faut connaître la largeur du champ et son interprétation avant de conclure à une erreur.

Encoder la valeur mathématique 255 dans un octet signé ne revient pas à lire le motif FF. La valeur est hors plage, alors que le motif tient dans huit bits. Le choix du sens de la saisie rend cette différence explicite, sans modifier le texte de départ.

Pourquoi ce calculateur de complément à deux ?

Conserver la valeur qui dépasse

Le calculateur de complément à deux conserve 300 dans la saisie tout en montrant que les huit bits de poids faible valent 44. Le dépassement de capacité reste distinct d’une erreur de syntaxe. Vous pouvez comparer les deux lectures du mot obtenu sans remplacer la valeur originale ni accepter une modification de vos données.

Une longue rangée de bits reste intacte tandis que ses huit positions de poids faible sont copiées dans un mot plus court.

Changer l’ordre des octets seulement

Sur 32 bits, 0x12345678 donne 12 34 56 78 en grand-boutiste et 78 56 34 12 en petit-boutiste. Chaque octet garde son contenu. Ce sont deux agencements d’un même mot, avec les mêmes valeurs signée et non signée, et non une inversion des bits à l’intérieur des octets.

Deux blocs d’octets colorés échangent leurs places entre deux rangées, sans changer l’ordre de leurs marques internes.

Choisir le sens avant la largeur

01

Distinguer une valeur de son encodage

Le réglage initial est −42 en décimal, sur huit bits signés, avec calcul automatique. Pour lire un relevé FF, choisissez Motif de bits et la base hexadécimale. Changer la base relit le texte présent ; cela ne convertit pas automatiquement le contenu du champ.

02

Vérifier ce qu’ajoute une largeur supérieure

Le motif FF devient 00FF sur seize bits, donc 255. Sa longueur textuelle ne déclenche pas une extension du signe. Pour conserver le nombre −1 en augmentant la largeur, saisissez −1 en mode Valeur : son nouvel encodage sera FFFF.

03

Exporter après le recalcul

Le calcul automatique attend 350 ms après la dernière modification. Désactivez-le pour utiliser Calculer ou Ctrl/Cmd + Entrée. Toute modification bloque aussitôt les exports. Exemple et Effacer affichent le nombre de champs modifiés avant application ; Annuler la modification restaure la saisie et le résultat précédents.

Du nombre aux octets stockés

Deux lectures décimales simultanées

Un entier signé sur w bits va de −2^(w−1) à 2^(w−1)−1, contre 0 à 2^w−1 sans signe. Ainsi, FF sur huit bits signifie −1 ou 255. Le réglage du signe choisit la lecture principale et la plage du mode Valeur, sans masquer les autres informations utiles à la comparaison.

Décomposer l’encodage d’un nombre négatif

Pour −42 sur huit bits, la valeur absolue est 00101010. Son inversion donne 11010101, puis l’ajout de un produit 11010110. Les étapes s’affichent pour une valeur négative comprise dans la plage signée de la largeur choisie, y compris sa borne minimale. Elles expliquent le complément à 2 sans ajouter un autre format de sortie.

Préserver chaque bit jusqu’à 64

La valeur 18446744073709551615 est traitée exactement par arithmétique entière. Aucun passage par un nombre flottant ne peut arrondir ses derniers chiffres. Les sorties binaires et hexadécimales sont complétées à la largeur choisie ; le rapport conserve aussi le texte source, les options, les plages et les deux agencements d’octets.

Règles de lecture et limites

La troncature reste un aperçu
Une valeur hors plage ou un motif trop large conserve sa saisie. Le résultat garde les w bits de poids faible, selon le reste non négatif modulo 2^w. Avec huit bits signés, 128 apparaît comme −128 et 256 comme zéro. Il n’existe aucune commande pour appliquer cette troncature au champ original.
Les motifs courts sont complétés par des zéros
Le mode Motif accepte des entiers non négatifs et refuse tout signe moins, même dans −0. Des zéros supplémentaires à gauche ne constituent pas un dépassement. Seule une grandeur supérieure à 2^w−1 dépasse la largeur ; un bit de poids fort à 1 ne suffit pas à rendre le motif invalide.
Une syntaxe d’entier précise
Les bases proposées sont 2, 8, 10 et 16, avec un préfixe facultatif correspondant. La limite est de 256 caractères. Seuls les espaces ASCII et tabulations extérieurs sont retirés. Séparateurs internes, sauts de ligne, fractions, notation exponentielle décimale et expressions arithmétiques sont refusés. Aucun import de fichier ou d’URL ni traitement par lots.
Un seul format signé
Les largeurs disponibles sont 8, 16, 32 et 64 bits. Il n’y a pas de conversion indépendante en signe et valeur absolue, en complément à un, en zéro négatif ou en flottant. L’inversion présentée dans les étapes est une opération intermédiaire pour encoder une valeur négative, pas un second décodeur.
Aucune simulation de langage
La règle mathématique affichée ne prédit ni exception, ni indicateur du processeur, ni saturation, ni comportement indéfini d’un compilateur. Les vues d’octets ne changent que l’ordre des octets entiers ; elles sont identiques sur huit bits. Les opérations logiques, décalages et calculs à deux opérandes relèvent d’autres outils.

Questions sur le calculateur de complément à deux

Pourquoi utilise-t-on le complément à deux pour les entiers signés ?

Il associe un motif unique à zéro et permet de représenter les valeurs négatives avec une règle de lecture simple : si le bit de poids fort est actif, on soustrait 2^w à la grandeur non signée. Ici, vous pouvez vérifier cette lecture sur chaque mot sans simuler les instructions d’un processeur.

Quelle plage peut représenter un entier signé sur huit bits ?

De −128 à 127 inclus. Les 128 motifs dont le bit supérieur vaut zéro comprennent zéro et les valeurs positives ; les 128 autres représentent les nombres négatifs. Sans signe, les mêmes 256 motifs correspondent aux nombres de 0 à 255.

Quelle différence avec le complément à un ?

Le complément à un inverse les bits pour former l’opposé et possède deux représentations de zéro. Le complément à deux ajoute encore un et ne conserve qu’un zéro. Le panneau montre parfois l’inversion comme étape, mais ne propose pas le complément à un comme mode d’encodage ou de lecture.

Quand se produit un dépassement de capacité signé ?

Lorsque la valeur mathématique sort de −2^(w−1) à 2^(w−1)−1. Par exemple, 200 dépasse la limite de 127 sur huit bits signés ; le mot conservé se lit alors −56. Le résultat affiche cet aperçu avec un avertissement et laisse 200 dans le champ.

Peut-on lire les mêmes bits comme un nombre non signé ?

Oui. FF sur huit bits se lit −1 avec signe et 255 sans signe. Sélectionnez Motif de bits pour indiquer que vous possédez déjà ce mot, puis comparez les deux lignes décimales. Le changement d’interprétation ne modifie ni les bits ni leur disposition à l’intérieur des octets.

Un résultat vous surprend ?

Examiner une autre limite

Utilisez le calculateur de complément à deux pour tester une limite, puis modifiez le sens de la saisie ou sa largeur. Exportez un rapport à jour qui conserve le texte initial, le statut de plage et les deux lectures du mot.